>>> nsf: Building community/nsf 2.4.0-r0 (using abuild 3.13.0-r3) started Fri, 26 Apr 2024 16:13:51 +0000 >>> nsf: Checking sanity of /home/buildozer/aports/community/nsf/APKBUILD... >>> nsf: Analyzing dependencies... >>> nsf: Installing for build: build-base tcl tcl-dev (1/5) Installing tzdata (2024a-r1) (2/5) Installing tcl (8.6.14-r0) (3/5) Installing zlib-dev (1.3.1-r1) (4/5) Installing tcl-dev (8.6.14-r0) (5/5) Installing .makedepends-nsf (20240426.161357) Executing busybox-1.36.1-r26.trigger OK: 443 MiB in 111 packages >>> nsf: Cleaning up srcdir >>> nsf: Cleaning up pkgdir >>> nsf: Cleaning up tmpdir >>> nsf: Fetching https://distfiles.alpinelinux.org/distfiles/v3.20/nsf-2.4.0.tar.gz Connecting to distfiles.alpinelinux.org (172.105.82.32:443) wget: server returned error: HTTP/1.1 404 Not Found >>> nsf: Fetching nsf-2.4.0.tar.gz::https://downloads.sourceforge.net/next-scripting/nsf2.4.0.tar.gz Connecting to downloads.sourceforge.net (204.68.111.105:443) Connecting to downloads.sourceforge.net (204.68.111.105:443) Connecting to versaweb.dl.sourceforge.net (162.251.232.173:443) saving to '/var/cache/distfiles/v3.20/nsf-2.4.0.tar.gz.part' nsf-2.4.0.tar.gz.par 100% |********************************| 4744k 0:00:00 ETA '/var/cache/distfiles/v3.20/nsf-2.4.0.tar.gz.part' saved >>> nsf: Fetching https://distfiles.alpinelinux.org/distfiles/v3.20/nsf-2.4.0.tar.gz >>> nsf: Checking sha512sums... nsf-2.4.0.tar.gz: OK fix-symlink.patch: OK >>> nsf: Unpacking /var/cache/distfiles/v3.20/nsf-2.4.0.tar.gz... >>> nsf: fix-symlink.patch patching file Makefile.in checking for correct TEA configuration... ok (TEA 3.10) configure: configuring nsf 2.4.0 Configuring NSF Version 2.4.0 checking for git... yes checking for s390x-alpine-linux-musl-gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether the compiler supports GNU C... yes checking whether gcc accepts -g... yes checking for gcc option to enable C11 features... none needed checking for stdio.h... yes checking for stdlib.h... yes checking for string.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for strings.h... yes checking for sys/stat.h... yes checking for sys/types.h... yes checking for unistd.h... yes checking for intptr_t... yes checking for uintptr_t... yes checking for Tcl configuration... found /usr/lib/tclConfig.sh checking for existence of /usr/lib/tclConfig.sh... loading checking platform... unix checking for strnstr... no configure: --exec-prefix defaulting to TCL_EXEC_PREFIX /usr checking for s390x-alpine-linux-musl-gcc... (cached) gcc checking whether the compiler supports GNU C... (cached) yes checking whether gcc accepts -g... (cached) yes checking for gcc option to enable C11 features... (cached) none needed checking how to run the C preprocessor... gcc -E checking whether make sets $(MAKE)... yes checking for s390x-alpine-linux-musl-ranlib... no checking for ranlib... ranlib checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking if the compiler understands -pipe... yes checking whether byte ordering is bigendian... yes checking for sin... yes checking for main in -lieee... no checking for main in -linet... no checking for net/errno.h... no checking for connect... yes checking for gethostbyname... yes checking dirent.h... yes checking for errno.h... yes checking for float.h... yes checking for values.h... yes checking for limits.h... yes checking for stdlib.h... (cached) yes checking for string.h... (cached) yes checking for sys/wait.h... yes checking for dlfcn.h... yes checking for sys/param.h... yes checking for Tcl public headers... /usr/include checking for Tcl private include files... private headers found with public headers checking for pthread_mutex_init in -lpthread... yes checking for building with threads... yes (default) checking how to build libraries... shared checking for s390x-alpine-linux-musl-ranlib... ranlib checking if 64bit support is requested... no checking if 64bit Sparc VIS support is requested... no checking if compiler supports visibility "hidden"... yes checking if rpath support is requested... yes checking system version... Linux-5.15.134-0-lts checking for s390x-alpine-linux-musl-ar... no checking for ar... ar checking for cast to union support... yes checking for required early compiler flags... _LARGEFILE64_SOURCE checking for 64-bit integer type... using long checking for build with symbols... no checking for tclsh... /usr/bin/tclsh8.6 configure: creating ./config.status config.status: creating Makefile config.status: creating ./nsfConfig.sh config.status: creating ./library/xotcl/xotclsh config.status: creating ./library/xotcl/xowish config.status: creating nxsh config.status: creating nxwish config.status: creating ./doc/version.inc gcc -DPACKAGE_NAME=\"nsf\" -DPACKAGE_TARNAME=\"nsf\" -DPACKAGE_VERSION=\"2.4.0\" -DPACKAGE_STRING=\"nsf\ 2.4.0\" -DPACKAGE_BUGREPORT=\"https://sourceforge.net/p/next-scripting/tickets/\" -DPACKAGE_URL=\"\" -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_INTPTR_T=1 -DHAVE_UINTPTR_T=1 -DBUILD_nsf=/\*\*/ -DWORDS_BIGENDIAN=1 -DHAVE_LIMITS_H=1 -DHAVE_SYS_PARAM_H=1 -DNSF_WITH_ASSERTIONS=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DTCL_THREADS=1 -DUSE_TCL_STUBS=1 -DUSE_TCLOO_STUBS=1 -DMODULE_SCOPE=extern\ __attribute__\(\(__visibility__\(\"hidden\"\)\)\) -DHAVE_HIDDEN=1 -DHAVE_CAST_TO_UNION=1 -D_LARGEFILE64_SOURCE=1 -DTCL_WIDE_INT_IS_LONG=1 -DUSE_TCL_STUBS=1 -DCOMPILE_NSF_STUBS=1 -DNSF_VERSION=\"2.4\" -DNSF_PATCHLEVEL=\"2.4.0\" -DNSF_COMMIT=\"2.3.0-248-ge733b10d-dirty\" -I"/usr/include" -I/home/buildozer/aports/community/nsf/src/nsf2.4.0/generic -O2 -fomit-frame-pointer -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -pipe -DNDEBUG -Wall -fPIC -c `echo ./generic/nsf.c` -o nsf.o gcc -DPACKAGE_NAME=\"nsf\" -DPACKAGE_TARNAME=\"nsf\" -DPACKAGE_VERSION=\"2.4.0\" -DPACKAGE_STRING=\"nsf\ 2.4.0\" -DPACKAGE_BUGREPORT=\"https://sourceforge.net/p/next-scripting/tickets/\" -DPACKAGE_URL=\"\" -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_INTPTR_T=1 -DHAVE_UINTPTR_T=1 -DBUILD_nsf=/\*\*/ -DWORDS_BIGENDIAN=1 -DHAVE_LIMITS_H=1 -DHAVE_SYS_PARAM_H=1 -DNSF_WITH_ASSERTIONS=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DTCL_THREADS=1 -DUSE_TCL_STUBS=1 -DUSE_TCLOO_STUBS=1 -DMODULE_SCOPE=extern\ __attribute__\(\(__visibility__\(\"hidden\"\)\)\) -DHAVE_HIDDEN=1 -DHAVE_CAST_TO_UNION=1 -D_LARGEFILE64_SOURCE=1 -DTCL_WIDE_INT_IS_LONG=1 -DUSE_TCL_STUBS=1 -DCOMPILE_NSF_STUBS=1 -DNSF_VERSION=\"2.4\" -DNSF_PATCHLEVEL=\"2.4.0\" -DNSF_COMMIT=\"2.3.0-248-ge733b10d-dirty\" -I"/usr/include" -I/home/buildozer/aports/community/nsf/src/nsf2.4.0/generic -O2 -fomit-frame-pointer -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -pipe -DNDEBUG -Wall -fPIC -c `echo ./generic/nsfError.c` -o nsfError.o gcc -DPACKAGE_NAME=\"nsf\" -DPACKAGE_TARNAME=\"nsf\" -DPACKAGE_VERSION=\"2.4.0\" -DPACKAGE_STRING=\"nsf\ 2.4.0\" -DPACKAGE_BUGREPORT=\"https://sourceforge.net/p/next-scripting/tickets/\" -DPACKAGE_URL=\"\" -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_INTPTR_T=1 -DHAVE_UINTPTR_T=1 -DBUILD_nsf=/\*\*/ -DWORDS_BIGENDIAN=1 -DHAVE_LIMITS_H=1 -DHAVE_SYS_PARAM_H=1 -DNSF_WITH_ASSERTIONS=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DTCL_THREADS=1 -DUSE_TCL_STUBS=1 -DUSE_TCLOO_STUBS=1 -DMODULE_SCOPE=extern\ __attribute__\(\(__visibility__\(\"hidden\"\)\)\) -DHAVE_HIDDEN=1 -DHAVE_CAST_TO_UNION=1 -D_LARGEFILE64_SOURCE=1 -DTCL_WIDE_INT_IS_LONG=1 -DUSE_TCL_STUBS=1 -DCOMPILE_NSF_STUBS=1 -DNSF_VERSION=\"2.4\" -DNSF_PATCHLEVEL=\"2.4.0\" -DNSF_COMMIT=\"2.3.0-248-ge733b10d-dirty\" -I"/usr/include" -I/home/buildozer/aports/community/nsf/src/nsf2.4.0/generic -O2 -fomit-frame-pointer -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -pipe -DNDEBUG -Wall -fPIC -c `echo ./generic/nsfObjectData.c` -o nsfObjectData.o gcc -DPACKAGE_NAME=\"nsf\" -DPACKAGE_TARNAME=\"nsf\" -DPACKAGE_VERSION=\"2.4.0\" -DPACKAGE_STRING=\"nsf\ 2.4.0\" -DPACKAGE_BUGREPORT=\"https://sourceforge.net/p/next-scripting/tickets/\" -DPACKAGE_URL=\"\" -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_INTPTR_T=1 -DHAVE_UINTPTR_T=1 -DBUILD_nsf=/\*\*/ -DWORDS_BIGENDIAN=1 -DHAVE_LIMITS_H=1 -DHAVE_SYS_PARAM_H=1 -DNSF_WITH_ASSERTIONS=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DTCL_THREADS=1 -DUSE_TCL_STUBS=1 -DUSE_TCLOO_STUBS=1 -DMODULE_SCOPE=extern\ __attribute__\(\(__visibility__\(\"hidden\"\)\)\) -DHAVE_HIDDEN=1 -DHAVE_CAST_TO_UNION=1 -D_LARGEFILE64_SOURCE=1 -DTCL_WIDE_INT_IS_LONG=1 -DUSE_TCL_STUBS=1 -DCOMPILE_NSF_STUBS=1 -DNSF_VERSION=\"2.4\" -DNSF_PATCHLEVEL=\"2.4.0\" -DNSF_COMMIT=\"2.3.0-248-ge733b10d-dirty\" -I"/usr/include" -I/home/buildozer/aports/community/nsf/src/nsf2.4.0/generic -O2 -fomit-frame-pointer -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -pipe -DNDEBUG -Wall -fPIC -c `echo ./generic/nsfProfile.c` -o nsfProfile.o gcc -DPACKAGE_NAME=\"nsf\" -DPACKAGE_TARNAME=\"nsf\" -DPACKAGE_VERSION=\"2.4.0\" -DPACKAGE_STRING=\"nsf\ 2.4.0\" -DPACKAGE_BUGREPORT=\"https://sourceforge.net/p/next-scripting/tickets/\" -DPACKAGE_URL=\"\" -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_INTPTR_T=1 -DHAVE_UINTPTR_T=1 -DBUILD_nsf=/\*\*/ -DWORDS_BIGENDIAN=1 -DHAVE_LIMITS_H=1 -DHAVE_SYS_PARAM_H=1 -DNSF_WITH_ASSERTIONS=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DTCL_THREADS=1 -DUSE_TCL_STUBS=1 -DUSE_TCLOO_STUBS=1 -DMODULE_SCOPE=extern\ __attribute__\(\(__visibility__\(\"hidden\"\)\)\) -DHAVE_HIDDEN=1 -DHAVE_CAST_TO_UNION=1 -D_LARGEFILE64_SOURCE=1 -DTCL_WIDE_INT_IS_LONG=1 -DUSE_TCL_STUBS=1 -DCOMPILE_NSF_STUBS=1 -DNSF_VERSION=\"2.4\" -DNSF_PATCHLEVEL=\"2.4.0\" -DNSF_COMMIT=\"2.3.0-248-ge733b10d-dirty\" -I"/usr/include" -I/home/buildozer/aports/community/nsf/src/nsf2.4.0/generic -O2 -fomit-frame-pointer -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -pipe -DNDEBUG -Wall -fPIC -c `echo ./generic/nsfDebug.c` -o nsfDebug.o gcc -DPACKAGE_NAME=\"nsf\" -DPACKAGE_TARNAME=\"nsf\" -DPACKAGE_VERSION=\"2.4.0\" -DPACKAGE_STRING=\"nsf\ 2.4.0\" -DPACKAGE_BUGREPORT=\"https://sourceforge.net/p/next-scripting/tickets/\" -DPACKAGE_URL=\"\" -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_INTPTR_T=1 -DHAVE_UINTPTR_T=1 -DBUILD_nsf=/\*\*/ -DWORDS_BIGENDIAN=1 -DHAVE_LIMITS_H=1 -DHAVE_SYS_PARAM_H=1 -DNSF_WITH_ASSERTIONS=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DTCL_THREADS=1 -DUSE_TCL_STUBS=1 -DUSE_TCLOO_STUBS=1 -DMODULE_SCOPE=extern\ __attribute__\(\(__visibility__\(\"hidden\"\)\)\) -DHAVE_HIDDEN=1 -DHAVE_CAST_TO_UNION=1 -D_LARGEFILE64_SOURCE=1 -DTCL_WIDE_INT_IS_LONG=1 -DUSE_TCL_STUBS=1 -DCOMPILE_NSF_STUBS=1 -DNSF_VERSION=\"2.4\" -DNSF_PATCHLEVEL=\"2.4.0\" -DNSF_COMMIT=\"2.3.0-248-ge733b10d-dirty\" -I"/usr/include" -I/home/buildozer/aports/community/nsf/src/nsf2.4.0/generic -O2 -fomit-frame-pointer -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -pipe -DNDEBUG -Wall -fPIC -c `echo ./generic/nsfUtil.c` -o nsfUtil.o gcc -DPACKAGE_NAME=\"nsf\" -DPACKAGE_TARNAME=\"nsf\" -DPACKAGE_VERSION=\"2.4.0\" -DPACKAGE_STRING=\"nsf\ 2.4.0\" -DPACKAGE_BUGREPORT=\"https://sourceforge.net/p/next-scripting/tickets/\" -DPACKAGE_URL=\"\" -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_INTPTR_T=1 -DHAVE_UINTPTR_T=1 -DBUILD_nsf=/\*\*/ -DWORDS_BIGENDIAN=1 -DHAVE_LIMITS_H=1 -DHAVE_SYS_PARAM_H=1 -DNSF_WITH_ASSERTIONS=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DTCL_THREADS=1 -DUSE_TCL_STUBS=1 -DUSE_TCLOO_STUBS=1 -DMODULE_SCOPE=extern\ __attribute__\(\(__visibility__\(\"hidden\"\)\)\) -DHAVE_HIDDEN=1 -DHAVE_CAST_TO_UNION=1 -D_LARGEFILE64_SOURCE=1 -DTCL_WIDE_INT_IS_LONG=1 -DUSE_TCL_STUBS=1 -DCOMPILE_NSF_STUBS=1 -DNSF_VERSION=\"2.4\" -DNSF_PATCHLEVEL=\"2.4.0\" -DNSF_COMMIT=\"2.3.0-248-ge733b10d-dirty\" -I"/usr/include" -I/home/buildozer/aports/community/nsf/src/nsf2.4.0/generic -O2 -fomit-frame-pointer -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -pipe -DNDEBUG -Wall -fPIC -c `echo ./generic/nsfObj.c` -o nsfObj.o gcc -DPACKAGE_NAME=\"nsf\" -DPACKAGE_TARNAME=\"nsf\" -DPACKAGE_VERSION=\"2.4.0\" -DPACKAGE_STRING=\"nsf\ 2.4.0\" -DPACKAGE_BUGREPORT=\"https://sourceforge.net/p/next-scripting/tickets/\" -DPACKAGE_URL=\"\" -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_INTPTR_T=1 -DHAVE_UINTPTR_T=1 -DBUILD_nsf=/\*\*/ -DWORDS_BIGENDIAN=1 -DHAVE_LIMITS_H=1 -DHAVE_SYS_PARAM_H=1 -DNSF_WITH_ASSERTIONS=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DTCL_THREADS=1 -DUSE_TCL_STUBS=1 -DUSE_TCLOO_STUBS=1 -DMODULE_SCOPE=extern\ __attribute__\(\(__visibility__\(\"hidden\"\)\)\) -DHAVE_HIDDEN=1 -DHAVE_CAST_TO_UNION=1 -D_LARGEFILE64_SOURCE=1 -DTCL_WIDE_INT_IS_LONG=1 -DUSE_TCL_STUBS=1 -DCOMPILE_NSF_STUBS=1 -DNSF_VERSION=\"2.4\" -DNSF_PATCHLEVEL=\"2.4.0\" -DNSF_COMMIT=\"2.3.0-248-ge733b10d-dirty\" -I"/usr/include" -I/home/buildozer/aports/community/nsf/src/nsf2.4.0/generic -O2 -fomit-frame-pointer -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -pipe -DNDEBUG -Wall -fPIC -c `echo ./generic/nsfPointer.c` -o nsfPointer.o gcc -DPACKAGE_NAME=\"nsf\" -DPACKAGE_TARNAME=\"nsf\" -DPACKAGE_VERSION=\"2.4.0\" -DPACKAGE_STRING=\"nsf\ 2.4.0\" -DPACKAGE_BUGREPORT=\"https://sourceforge.net/p/next-scripting/tickets/\" -DPACKAGE_URL=\"\" -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_INTPTR_T=1 -DHAVE_UINTPTR_T=1 -DBUILD_nsf=/\*\*/ -DWORDS_BIGENDIAN=1 -DHAVE_LIMITS_H=1 -DHAVE_SYS_PARAM_H=1 -DNSF_WITH_ASSERTIONS=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DTCL_THREADS=1 -DUSE_TCL_STUBS=1 -DUSE_TCLOO_STUBS=1 -DMODULE_SCOPE=extern\ __attribute__\(\(__visibility__\(\"hidden\"\)\)\) -DHAVE_HIDDEN=1 -DHAVE_CAST_TO_UNION=1 -D_LARGEFILE64_SOURCE=1 -DTCL_WIDE_INT_IS_LONG=1 -DUSE_TCL_STUBS=1 -DCOMPILE_NSF_STUBS=1 -DNSF_VERSION=\"2.4\" -DNSF_PATCHLEVEL=\"2.4.0\" -DNSF_COMMIT=\"2.3.0-248-ge733b10d-dirty\" -I"/usr/include" -I/home/buildozer/aports/community/nsf/src/nsf2.4.0/generic -O2 -fomit-frame-pointer -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -pipe -DNDEBUG -Wall -fPIC -c `echo ./generic/nsfEnumerationType.c` -o nsfEnumerationType.o gcc -DPACKAGE_NAME=\"nsf\" -DPACKAGE_TARNAME=\"nsf\" -DPACKAGE_VERSION=\"2.4.0\" -DPACKAGE_STRING=\"nsf\ 2.4.0\" -DPACKAGE_BUGREPORT=\"https://sourceforge.net/p/next-scripting/tickets/\" -DPACKAGE_URL=\"\" -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_INTPTR_T=1 -DHAVE_UINTPTR_T=1 -DBUILD_nsf=/\*\*/ -DWORDS_BIGENDIAN=1 -DHAVE_LIMITS_H=1 -DHAVE_SYS_PARAM_H=1 -DNSF_WITH_ASSERTIONS=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DTCL_THREADS=1 -DUSE_TCL_STUBS=1 -DUSE_TCLOO_STUBS=1 -DMODULE_SCOPE=extern\ __attribute__\(\(__visibility__\(\"hidden\"\)\)\) -DHAVE_HIDDEN=1 -DHAVE_CAST_TO_UNION=1 -D_LARGEFILE64_SOURCE=1 -DTCL_WIDE_INT_IS_LONG=1 -DUSE_TCL_STUBS=1 -DCOMPILE_NSF_STUBS=1 -DNSF_VERSION=\"2.4\" -DNSF_PATCHLEVEL=\"2.4.0\" -DNSF_COMMIT=\"2.3.0-248-ge733b10d-dirty\" -I"/usr/include" -I/home/buildozer/aports/community/nsf/src/nsf2.4.0/generic -O2 -fomit-frame-pointer -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -pipe -DNDEBUG -Wall -fPIC -c `echo ./generic/nsfCmdDefinitions.c` -o nsfCmdDefinitions.o gcc -DPACKAGE_NAME=\"nsf\" -DPACKAGE_TARNAME=\"nsf\" -DPACKAGE_VERSION=\"2.4.0\" -DPACKAGE_STRING=\"nsf\ 2.4.0\" -DPACKAGE_BUGREPORT=\"https://sourceforge.net/p/next-scripting/tickets/\" -DPACKAGE_URL=\"\" -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_INTPTR_T=1 -DHAVE_UINTPTR_T=1 -DBUILD_nsf=/\*\*/ -DWORDS_BIGENDIAN=1 -DHAVE_LIMITS_H=1 -DHAVE_SYS_PARAM_H=1 -DNSF_WITH_ASSERTIONS=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DTCL_THREADS=1 -DUSE_TCL_STUBS=1 -DUSE_TCLOO_STUBS=1 -DMODULE_SCOPE=extern\ __attribute__\(\(__visibility__\(\"hidden\"\)\)\) -DHAVE_HIDDEN=1 -DHAVE_CAST_TO_UNION=1 -D_LARGEFILE64_SOURCE=1 -DTCL_WIDE_INT_IS_LONG=1 -DUSE_TCL_STUBS=1 -DCOMPILE_NSF_STUBS=1 -DNSF_VERSION=\"2.4\" -DNSF_PATCHLEVEL=\"2.4.0\" -DNSF_COMMIT=\"2.3.0-248-ge733b10d-dirty\" -I"/usr/include" -I/home/buildozer/aports/community/nsf/src/nsf2.4.0/generic -O2 -fomit-frame-pointer -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -pipe -DNDEBUG -Wall -fPIC -c `echo ./generic/nsfFunPtrHashTable.c` -o nsfFunPtrHashTable.o gcc -DPACKAGE_NAME=\"nsf\" -DPACKAGE_TARNAME=\"nsf\" -DPACKAGE_VERSION=\"2.4.0\" -DPACKAGE_STRING=\"nsf\ 2.4.0\" -DPACKAGE_BUGREPORT=\"https://sourceforge.net/p/next-scripting/tickets/\" -DPACKAGE_URL=\"\" -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_INTPTR_T=1 -DHAVE_UINTPTR_T=1 -DBUILD_nsf=/\*\*/ -DWORDS_BIGENDIAN=1 -DHAVE_LIMITS_H=1 -DHAVE_SYS_PARAM_H=1 -DNSF_WITH_ASSERTIONS=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DTCL_THREADS=1 -DUSE_TCL_STUBS=1 -DUSE_TCLOO_STUBS=1 -DMODULE_SCOPE=extern\ __attribute__\(\(__visibility__\(\"hidden\"\)\)\) -DHAVE_HIDDEN=1 -DHAVE_CAST_TO_UNION=1 -D_LARGEFILE64_SOURCE=1 -DTCL_WIDE_INT_IS_LONG=1 -DUSE_TCL_STUBS=1 -DCOMPILE_NSF_STUBS=1 -DNSF_VERSION=\"2.4\" -DNSF_PATCHLEVEL=\"2.4.0\" -DNSF_COMMIT=\"2.3.0-248-ge733b10d-dirty\" -I"/usr/include" -I/home/buildozer/aports/community/nsf/src/nsf2.4.0/generic -O2 -fomit-frame-pointer -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -pipe -DNDEBUG -Wall -fPIC -c `echo ./generic/nsfShadow.c` -o nsfShadow.o gcc -DPACKAGE_NAME=\"nsf\" -DPACKAGE_TARNAME=\"nsf\" -DPACKAGE_VERSION=\"2.4.0\" -DPACKAGE_STRING=\"nsf\ 2.4.0\" -DPACKAGE_BUGREPORT=\"https://sourceforge.net/p/next-scripting/tickets/\" -DPACKAGE_URL=\"\" -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_INTPTR_T=1 -DHAVE_UINTPTR_T=1 -DBUILD_nsf=/\*\*/ -DWORDS_BIGENDIAN=1 -DHAVE_LIMITS_H=1 -DHAVE_SYS_PARAM_H=1 -DNSF_WITH_ASSERTIONS=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DTCL_THREADS=1 -DUSE_TCL_STUBS=1 -DUSE_TCLOO_STUBS=1 -DMODULE_SCOPE=extern\ __attribute__\(\(__visibility__\(\"hidden\"\)\)\) -DHAVE_HIDDEN=1 -DHAVE_CAST_TO_UNION=1 -D_LARGEFILE64_SOURCE=1 -DTCL_WIDE_INT_IS_LONG=1 -DUSE_TCL_STUBS=1 -DCOMPILE_NSF_STUBS=1 -DNSF_VERSION=\"2.4\" -DNSF_PATCHLEVEL=\"2.4.0\" -DNSF_COMMIT=\"2.3.0-248-ge733b10d-dirty\" -I"/usr/include" -I/home/buildozer/aports/community/nsf/src/nsf2.4.0/generic -O2 -fomit-frame-pointer -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -pipe -DNDEBUG -Wall -fPIC -c `echo ./generic/nsfCompile.c` -o nsfCompile.o gcc -DPACKAGE_NAME=\"nsf\" -DPACKAGE_TARNAME=\"nsf\" -DPACKAGE_VERSION=\"2.4.0\" -DPACKAGE_STRING=\"nsf\ 2.4.0\" -DPACKAGE_BUGREPORT=\"https://sourceforge.net/p/next-scripting/tickets/\" -DPACKAGE_URL=\"\" -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_INTPTR_T=1 -DHAVE_UINTPTR_T=1 -DBUILD_nsf=/\*\*/ -DWORDS_BIGENDIAN=1 -DHAVE_LIMITS_H=1 -DHAVE_SYS_PARAM_H=1 -DNSF_WITH_ASSERTIONS=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DTCL_THREADS=1 -DUSE_TCL_STUBS=1 -DUSE_TCLOO_STUBS=1 -DMODULE_SCOPE=extern\ __attribute__\(\(__visibility__\(\"hidden\"\)\)\) -DHAVE_HIDDEN=1 -DHAVE_CAST_TO_UNION=1 -D_LARGEFILE64_SOURCE=1 -DTCL_WIDE_INT_IS_LONG=1 -DUSE_TCL_STUBS=1 -DCOMPILE_NSF_STUBS=1 -DNSF_VERSION=\"2.4\" -DNSF_PATCHLEVEL=\"2.4.0\" -DNSF_COMMIT=\"2.3.0-248-ge733b10d-dirty\" -I"/usr/include" -I/home/buildozer/aports/community/nsf/src/nsf2.4.0/generic -O2 -fomit-frame-pointer -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -pipe -DNDEBUG -Wall -fPIC -c `echo ./generic/aolstub.c` -o aolstub.o gcc -DPACKAGE_NAME=\"nsf\" -DPACKAGE_TARNAME=\"nsf\" -DPACKAGE_VERSION=\"2.4.0\" -DPACKAGE_STRING=\"nsf\ 2.4.0\" -DPACKAGE_BUGREPORT=\"https://sourceforge.net/p/next-scripting/tickets/\" -DPACKAGE_URL=\"\" -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_INTPTR_T=1 -DHAVE_UINTPTR_T=1 -DBUILD_nsf=/\*\*/ -DWORDS_BIGENDIAN=1 -DHAVE_LIMITS_H=1 -DHAVE_SYS_PARAM_H=1 -DNSF_WITH_ASSERTIONS=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DTCL_THREADS=1 -DUSE_TCL_STUBS=1 -DUSE_TCLOO_STUBS=1 -DMODULE_SCOPE=extern\ __attribute__\(\(__visibility__\(\"hidden\"\)\)\) -DHAVE_HIDDEN=1 -DHAVE_CAST_TO_UNION=1 -D_LARGEFILE64_SOURCE=1 -DTCL_WIDE_INT_IS_LONG=1 -DUSE_TCL_STUBS=1 -DCOMPILE_NSF_STUBS=1 -DNSF_VERSION=\"2.4\" -DNSF_PATCHLEVEL=\"2.4.0\" -DNSF_COMMIT=\"2.3.0-248-ge733b10d-dirty\" -I"/usr/include" -I/home/buildozer/aports/community/nsf/src/nsf2.4.0/generic -O2 -fomit-frame-pointer -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -pipe -DNDEBUG -Wall -fPIC -c `echo generic/stubs8.6/nsfStubInit.c` -o generic/stubs8.6/nsfStubInit.o gcc -DPACKAGE_NAME=\"nsf\" -DPACKAGE_TARNAME=\"nsf\" -DPACKAGE_VERSION=\"2.4.0\" -DPACKAGE_STRING=\"nsf\ 2.4.0\" -DPACKAGE_BUGREPORT=\"https://sourceforge.net/p/next-scripting/tickets/\" -DPACKAGE_URL=\"\" -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_INTPTR_T=1 -DHAVE_UINTPTR_T=1 -DBUILD_nsf=/\*\*/ -DWORDS_BIGENDIAN=1 -DHAVE_LIMITS_H=1 -DHAVE_SYS_PARAM_H=1 -DNSF_WITH_ASSERTIONS=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DTCL_THREADS=1 -DUSE_TCL_STUBS=1 -DUSE_TCLOO_STUBS=1 -DMODULE_SCOPE=extern\ __attribute__\(\(__visibility__\(\"hidden\"\)\)\) -DHAVE_HIDDEN=1 -DHAVE_CAST_TO_UNION=1 -D_LARGEFILE64_SOURCE=1 -DTCL_WIDE_INT_IS_LONG=1 -DUSE_TCL_STUBS=1 -DCOMPILE_NSF_STUBS=1 -DNSF_VERSION=\"2.4\" -DNSF_PATCHLEVEL=\"2.4.0\" -DNSF_COMMIT=\"2.3.0-248-ge733b10d-dirty\" -I"/usr/include" -I/home/buildozer/aports/community/nsf/src/nsf2.4.0/generic -O2 -fomit-frame-pointer -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -pipe -DNDEBUG -Wall -fPIC -c `echo ./generic/nsfStubLib.c` -o nsfStubLib.o *************************************************************** Make completed. In order to test the Next Scripting Framework, invoke: make test To install, use: make install To install for AOLserver 4.x, use: make install-aol In order to invoke NX interactively (before install), use: export TCLLIBPATH="" TCL8_5_TM_PATH=""/tcl8/site-tcl and /usr/bin/tclsh8.6 package require nx *************************************************************** rm -f libnsfstub2.4.0.a ar cr libnsfstub2.4.0.a nsfStubLib.o ranlib libnsfstub2.4.0.a rm -f libnsf2.4.0.so gcc -shared -O2 -fomit-frame-pointer -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -pipe -DNDEBUG -Wall -fPIC -Wl,--as-needed,-O1,--sort-common -Wl,--export-dynamic -o libnsf2.4.0.so nsf.o nsfError.o nsfObjectData.o nsfProfile.o nsfDebug.o nsfUtil.o nsfObj.o nsfPointer.o nsfEnumerationType.o nsfCmdDefinitions.o nsfFunPtrHashTable.o nsfShadow.o nsfCompile.o aolstub.o ./generic/stubs8.6/nsfStubInit.o -L/usr/lib -ltclstub8.6 : libnsf2.4.0.so TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./library`/lib/mkIndex.tcl -dir `echo ./library` Appending pkgIndex-package.add to pkgIndex.tcl in /home/buildozer/aports/community/nsf/src/nsf2.4.0/library/xotcl/library/lib Appending pkgIndex.add to pkgIndex.tcl in /home/buildozer/aports/community/nsf/src/nsf2.4.0/library/mongodb Appending nx-callback.add to pkgIndex.tcl in /home/buildozer/aports/community/nsf/src/nsf2.4.0/library/lib TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./library`/lib/mkIndex.tcl -dir `echo ./library` rm -f ./__test.log TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./tests`/object-system.test -libdir `echo ./unix` -testlog ./__test.log TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 ./library/xotcl/tests/testo.xotcl -libdir `echo ./unix` -testlog ./__test.log TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 ./library/xotcl/tests/xocomm.test -libdir `echo ./unix` -testlog ./__test.log loaded Tcl version: 8.6 (8.6.14) loaded ::nsf::version 2.4, ::nsf::patchLevel 2.4.0 available versions of nsf: 2.4.0 OK string first [nsf::pkgconfig get version] [nsf::pkgconfig get patchLevel] Appending pkgIndex-package.add to pkgIndex.tcl in /home/buildozer/aports/community/nsf/src/nsf2.4.0/library/xotcl/library/lib Appending pkgIndex.add to pkgIndex.tcl in /home/buildozer/aports/community/nsf/src/nsf2.4.0/library/mongodb Appending nx-callback.add to pkgIndex.tcl in /home/buildozer/aports/community/nsf/src/nsf2.4.0/library/lib OK ::nsf::configure objectsystems OK ::nsf::object::exists nx::Object OK ::nsf::object::property nx::Object initialized OK ::nsf::is class nx::Object OK ::nsf::is metaclass nx::Object OK nx::Object info superclasses OK nx::Object info class OK nx::Object info baseclass OK nx::Object info baseclass OK ::nsf::object::exists nx::Class OK ::nsf::is class nx::Class OK ::nsf::is metaclass nx::Class OK nx::Class info superclasses OK nx::Class info class OK nx::Class info baseclass OK nx::Class info baseclass OK p0 a OK p1 a OK p1 OK p2 a b c OK p2 a OK p2 a b OK p3 a b OK p3 a b c OK p3 a OK p3 OK p4 OK p4 -x 1 OK p4 -x 1 2 OK p4 -- -x 1 2 OK p4 -- OK p4 -- -- OK p4 -y -- OK p5 OK p5 -x 1 OK p5 a OK p5 -y 1 OK p5 -y 1 2 OK p5 -x 1 2 OK p5 -y -- OK ::nsf::object::exists nx::Object OK ::nsf::is class o OK ::nsf::is metaclass o OK o info class OK o info baseclass OK o info baseclass OK nx::Object info instances o OK nx::Object info instances ::o OK nsf::object::exists ::o OK nsf::object::exists o OK ::nsf::object::exists ::o2 OK ::nsf::object::property ::o2 initialized OK ::nsf::object::property ::o2 initialized OK ::nsf::is class C0 OK ::nsf::is metaclass C0 OK C0 info superclasses OK C0 info class OK ::nsf::object::exists M OK ::nsf::is class M OK ::nsf::is metaclass M OK M info superclasses OK M info class OK M info baseclass OK M info baseclass OK ::nsf::object::exists C OK ::nsf::is class C OK ::nsf::is metaclass C OK C info superclasses OK C info class OK ::nsf::object::exists c1 OK ::nsf::is class c1 OK ::nsf::is metaclass c1 OK c1 info class OK ::nsf::object::exists M2 OK ::nsf::is class M2 OK ::nsf::is metaclass M2 OK M2 info superclasses OK M2 info class OK m2 info superclasses OK m2 info class OK ::nsf::object::exists C OK ::nsf::is class C OK ::nsf::is metaclass C OK C info superclasses OK C info class OK ::nsf::is metaclass M2 OK M2 info superclasses OK m2 info superclasses OK m2 info class OK ::nsf::object::exists C OK ::nsf::object::exists ::C OK ::nsf::object::exists c1 OK ::nsf::is object c1 OK ::nsf::is class c1 OK ::nsf::is metaclass c1 OK c1 info class OK simple method dispatch OK colon-methodname dispatch OK colon cmd dispatch OK self dispatch OK self cmd OK colon cmd OK colon cmd dispatch args OK ::nsf::object::exists C OK ::nsf::object::exists C::slot OK C info children OK C info lookup parameters create x OK C info lookup parameters create y OK C copy X OK ::nsf::object::exists X OK X info vars OK C info vars OK ::nsf::object::exists X::slot OK set c1 [C new] OK nsf::object::property $c1 autonamed OK $c1 copy c2 OK nsf::object::property c2 autonamed OK c2 copy OK set C [C copy] OK ::nsf::object::exists ${C}::slot OK X info lookup parameters create ? OK X info lookup parameters create x OK X info lookup parameters create y OK C create c1 OK C create c2 {:object method foo {} {;}} OK lsort [::C ::nsf::methods::class::info::methods] OK lsort [::C ::nsf::methods::class::info::methods] OK lsort [::C ::nsf::methods::object::info::methods] OK simple dispatch has set variable x OK simple dispatch has set variable x to 1 OK simple dispatch with one arg works OK simple dispatch with two args works OK cmd dispatch without -frame object did not modify the instance variable OK cmd dispatch -frame object modifies the instance variable OK cmd dispatch with unknown command OK o foo OK k s create o -j X ===MINI-OBJECTSYSTEM OK ::nsf::object::exists ::object OK ::nsf::is class ::object OK ::nsf::is metaclass ::object OK ::nsf::relation::get ::object class OK ::nsf::relation::get ::object superclass OK ::nsf::object::exists ::class OK ::nsf::is class ::class OK ::nsf::is metaclass ::class OK ::nsf::relation::get ::class class OK ::nsf::relation::get ::class superclass OK ::nsf::object::exists ::C OK ::nsf::is class ::C OK ::nsf::is metaclass ::C OK ::nsf::relation::get ::C class OK ::nsf::relation::get ::C superclass OK ::nsf::object::exists ::c1 OK ::nsf::is class ::c1 OK ::nsf::is metaclass ::c1 OK ::nsf::relation::get ::c1 class OK ::nsf::object::exists ::c1 OK ::nsf::is class ::C OK ::nsf::object::exists ::C OK catch {::C info has type ::UNKNOWN} OK catch {::C info has type ::xyz::Bar} OK catch {nx::Object destroy} OK ::nsf::object::exists nx::Object OK catch {nx::Object create nx::Object} OK ::nsf::object::exists nx::Object OK catch {nx::Object create nx::Class} OK ::nsf::object::exists nx::Class OK catch {nx::Class create nx::Object} OK catch {nx::Class create nx::Class} OK catch {rename nx::Object ""} OK ::nsf::object::exists nx::Object OK catch {rename nx::Object ""} OK ::nsf::object::exists nx::Object OK catch {rename nx::Class ""} OK ::nsf::object::exists nx::Class OK catch {nx::Object create foo} OK catch {nx::Object create [self]::bar} OK catch {:object forward bar somethingelse} OK nsf::object::exists [self]::bar OK catch {:object method bar {} {;}} OK nsf::object::exists [self]::bar OK C create c1 OK A info instances -closure OK o info vars OK o eval {array get :__cmd} ===EXIT ./tests/object-system.test PASSED ::objectdispatch PASSED ::paperexamples TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./tests`/destroy.test -libdir `echo ./unix` -testlog ./__test.log PASSED ::classcreate PASSED ::inheritance /usr/bin/tclsh8.6 ./library/xotcl/tests/../apps/comm/webserver.xotcl -root ./library/xotcl/tests/../doc -pkgdir ./library/xotcl/tests/../library PASSED ::classdestroy Warning: Non-positional parameter -verbose was passed more than once (::xocomm/test.001 method configure xocomm/test.001 -count 1 -verbose 0 -msg {Trying to load image logo-100.jpg ... } -verbose 1 -pre {puts starting...} -setResult {expr {[r0::sink set contentLength] == 1706}} -cmd {SimpleRequest r0 -url http://localhost:8086/logo-100.jpg}) PASSED ::objectinits PASSED ::objectvariables 29864 microseconds per iteration TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 ./library/xotcl/tests/speedtest.xotcl -libdir `echo ./unix` -testlog ./__test.log notice: Running test case: ./tests/destroy.test simple-destroy-1 ==== simple destroy (1) ::c1 *** ::c1 destroy AAAA ::c1 exists 1 XXXX2 destroy/simple-destroy-1.001: 1.70 mms, simple destroy (1) can still access ::c1 XXXX3 destroy/simple-destroy-1.002: 0.90 mms, simple destroy (1) object still exists in proc destroy/simple-destroy-1.003: 1.00 mms, firstDestroy called destroy/simple-destroy-1.004: 0.90 mms, ObjectDestroy called destroy/simple-destroy-1.005: 1.10 mms, simple destroy (1) object deleted destroy/simple-destroy-1.006: 0.90 mms, firstDestroy called notice: Running test case: ./tests/destroy.test simple-destroy-2 ==== simple destroy (2), destroy blocks ::c1 *** ::c1 destroy block AAAA ::c1 exists 1 destroy/simple-destroy-2.001: 1.00 mms, simple destroy (2), destroy blocks can still access ::c1 destroy/simple-destroy-2.002: 0.90 mms, simple destroy (2), destroy blocks object still exists in proc destroy/simple-destroy-2.003: 1.00 mms, firstDestroy called destroy/simple-destroy-2.004: 1.00 mms, ObjectDestroy called destroy/simple-destroy-2.005: 0.80 mms, simple destroy (2), destroy blocks object deleted destroy/simple-destroy-2.006: 1.00 mms, firstDestroy called destroy/simple-destroy-2.007: 0.90 mms, ObjectDestroy called notice: Running test case: ./tests/destroy.test recreate ==== recreate ::c1 AAAA ::c1 exists 1 destroy/recreate.001: 1.10 mms, recreate can still access ::c1 destroy/recreate.002: 0.80 mms, recreate object still exists in proc destroy/recreate.003: 1.00 mms, firstDestroy called destroy/recreate.004: 0.90 mms, ObjectDestroy called destroy/recreate.005: 0.80 mms, recreate object deleted destroy/recreate.006: 0.90 mms, firstDestroy called notice: Running test case: ./tests/destroy.test rename-empty-1 ==== cmd rename empty (1) ::c1 *** ::c1 destroy AAAA ::c1 exists 1 destroy/rename-empty-1.001: 1.00 mms, cmd rename empty (1) can still access ::c1 destroy/rename-empty-1.002: 0.80 mms, cmd rename empty (1) object still exists in proc destroy/rename-empty-1.003: 1.00 mms, firstDestroy called destroy/rename-empty-1.004: 1.00 mms, ObjectDestroy called destroy/rename-empty-1.005: 1.10 mms, cmd rename empty (1) object still exists after proc destroy/rename-empty-1.006: 1.00 mms, firstDestroy called destroy/rename-empty-1.007: 0.90 mms, ObjectDestroy called notice: Running test case: ./tests/destroy.test rename-empty-2 ==== cmd rename empty (2) ::c1 *** ::c1 destroy block AAAA ::c1 exists 1 destroy/rename-empty-2.001: 1.10 mms, cmd rename empty (2) can still access ::c1 destroy/rename-empty-2.002: 0.90 mms, cmd rename empty (2) object still exists in proc destroy/rename-empty-2.003: 1.00 mms, firstDestroy called destroy/rename-empty-2.004: 0.90 mms, ObjectDestroy called destroy/rename-empty-2.005: 0.80 mms, cmd rename empty (2) object still exists after proc destroy/rename-empty-2.006: 0.90 mms, firstDestroy called destroy/rename-empty-2.007: 0.90 mms, ObjectDestroy called notice: Running test case: ./tests/destroy.test rename-to-current ==== cmd rename object to current ::c1 *** ::c1 destroy AAAA ::c1 exists 1 destroy/rename-to-current.001: cmd rename object to current cannot access ::c1 ok Notice: Object ::c1 is apparently deleted destroy/rename-to-current.002: 0.90 mms, cmd rename object to current object still exists in proc Notice: Object ::c1 is apparently deleted destroy/rename-to-current.003: 1.00 mms, firstDestroy called Notice: Object ::c1 is apparently deleted destroy/rename-to-current.004: 1.00 mms, ObjectDestroy called Notice: Object ::c1 is apparently deleted destroy/rename-to-current.005: 0.80 mms, cmd rename object to current object still exists after proc destroy/rename-to-current.006: 0.90 mms, firstDestroy called destroy/rename-to-current.007: 0.90 mms, ObjectDestroy called notice: Running test case: ./tests/destroy.test rename-proc-to-current ==== cmd rename proc to current ::c1 destroy/rename-proc-to-current.001: 0.80 mms, cmd rename proc to current tcl refuses to rename into an existing command destroy/rename-proc-to-current.002: 0.80 mms, cmd rename proc to current object still exists after proc destroy/rename-proc-to-current.003: 1.00 mms, firstDestroy called destroy/rename-proc-to-current.004: 0.90 mms, ObjectDestroy called notice: Running test case: ./tests/destroy.test delete-parent-namespace ==== delete parent namespace (1) ::test::c1 AAAA ::test::c1 exists 0 BBB ???? ::test::c1 exists 0 destroy/delete-parent-namespace.001: 1.70 mms, ::nsf::object::exists ::test::c1 Warning: Namespace of ::test::C is apparently deleted Warning: Namespace of ::test::c1 is apparently deleted ???? ::test::c1 exists 0 destroy/delete-parent-namespace.002: 1.10 mms, firstDestroy called Warning: Namespace of ::test::C is apparently deleted Warning: Namespace of ::test::c1 is apparently deleted destroy/delete-parent-namespace.003: 1.00 mms, delete parent namespace (1) destroy not yet called Warning: Namespace of ::test::C is apparently deleted Warning: Namespace of ::test::c1 is apparently deleted *** ::test::c1 destroy destroy/delete-parent-namespace.004: 1.20 mms, object still exists after proc destroy/delete-parent-namespace.005: 1.00 mms, firstDestroy called destroy/delete-parent-namespace.006: 1.00 mms, destroy was called when popping stack frame destroy/delete-parent-namespace.007: 0.90 mms, class still exists after proc destroy/delete-parent-namespace.008: 0.90 mms, namespace ::test::C still exists after proc destroy/delete-parent-namespace.009: 0.90 mms, parent ::test namespace still exists after proc destroy/delete-parent-namespace.010: 0.90 mms, namespace ::xotcl::classes::test::C still exists after proc notice: Running test case: ./tests/destroy.test delete-parent-namespace-2 destroy/delete-parent-namespace-2.001: 1.00 mms, exists test::C ==== delete parent namespace (2) ::test::c1 AAAA ::test::c1 exists 0 BBBB ???? ::test::c1 exists 0 destroy/delete-parent-namespace-2.002: 1.00 mms, delete parent namespace (2) object still exists in proc Warning: Namespace of ::test::C is apparently deleted Warning: Namespace of ::test::c1 is apparently deleted ???? ::test::c1 exists 0 destroy/delete-parent-namespace-2.003: 1.00 mms, firstDestroy called Warning: Namespace of ::test::C is apparently deleted Warning: Namespace of ::test::c1 is apparently deleted destroy/delete-parent-namespace-2.004: 1.00 mms, ObjectDestroy called Warning: Namespace of ::test::C is apparently deleted Warning: Namespace of ::test::c1 is apparently deleted *** ::test::c1 destroy block destroy/delete-parent-namespace-2.005: 1.20 mms, delete parent namespace (2) object still exists after proc destroy/delete-parent-namespace-2.006: 1.00 mms, firstDestroy called destroy/delete-parent-namespace-2.007: 1.00 mms, ObjectDestroy called notice: Running test case: ./tests/destroy.test delete-parent-object ==== delete parent object (1) ::o::c1 *** ::o::c1 destroy AAAA AAAA ::o::c1 exists 0 BBBB destroy/delete-parent-object.001: 1.00 mms, delete parent object (1) object still exists in proc Notice: Object ::o::c1 is apparently deleted destroy/delete-parent-object.002: 1.00 mms, firstDestroy called Notice: Object ::o::c1 is apparently deleted destroy/delete-parent-object.003: 1.00 mms, ObjectDestroy called Notice: Object ::o::c1 is apparently deleted destroy/delete-parent-object.004: 0.90 mms, delete parent object (1) object o::c1 still exists after proc destroy/delete-parent-object.005: 1.10 mms, delete parent object (1) object o still exists after proc destroy/delete-parent-object.006: 1.00 mms, firstDestroy called destroy/delete-parent-object.007: 1.00 mms, ObjectDestroy called notice: Running test case: ./tests/destroy.test delete-parent-object-2 ==== delete parent object (2) ::o::c1 *** ::o::c1 destroy block AAAA ::o::c1 exists 0 BBB destroy/delete-parent-object-2.001: 1.00 mms, delete parent object (2) object still exists in proc Notice: Object ::o::c1 is apparently deleted destroy/delete-parent-object-2.002: 1.00 mms, firstDestroy called Notice: Object ::o::c1 is apparently deleted destroy/delete-parent-object-2.003: 1.00 mms, ObjectDestroy called Notice: Object ::o::c1 is apparently deleted destroy/delete-parent-object-2.004: 1.00 mms, delete parent object (2) object still exists after proc destroy/delete-parent-object-2.005: 1.00 mms, firstDestroy called destroy/delete-parent-object-2.006: 1.00 mms, ObjectDestroy called notice: Running test case: ./tests/destroy.test redefine-current-object-as-proc ==== redefine current object as proc ::c1 *** ::c1 destroy AAAA ::c1 exists 0 BBB destroy/redefine-current-object-as-proc.001: 1.00 mms, firstDestroy called Notice: Object ::c1 is apparently deleted destroy/redefine-current-object-as-proc.002: 1.00 mms, ObjectDestroy called Notice: Object ::c1 is apparently deleted destroy/redefine-current-object-as-proc.003: 1.10 mms, redefine current object as proc object still exists in proc Notice: Object ::c1 is apparently deleted destroy/redefine-current-object-as-proc.004: 1.10 mms, redefine current object as proc object still exists after proc destroy/redefine-current-object-as-proc.005: 1.00 mms, firstDestroy called destroy/redefine-current-object-as-proc.006: 1.00 mms, ObjectDestroy called notice: Running test case: ./tests/destroy.test delete-active-class ==== delete active class ::c1 AAAA ::c1 exists 1 BBB destroy/delete-active-class.001: 1.20 mms, object reclassed? destroy/delete-active-class.002: 1.00 mms, firstDestroy called destroy/delete-active-class.003: 1.00 mms, ObjectDestroy called destroy/delete-active-class.004: 0.90 mms, object still exists in proc destroy/delete-active-class.005: 1.00 mms, class still exists in proc destroy/delete-active-class.006: 0.90 mms, object still exists after proc destroy/delete-active-class.007: 1.20 mms, after proc: object reclassed? destroy/delete-active-class.008: 1.00 mms, firstDestroy called destroy/delete-active-class.009: 1.00 mms, ObjectDestroy called notice: Running test case: ./tests/destroy.test delete-active-object-nested-in-class ==== delete active object nested in class ::C::c1 *** ::C::c1 destroy AAAA ::C::c1 exists 1 BBB destroy/delete-active-object-nested-in-class.001: 1.00 mms, firstDestroy called destroy/delete-active-object-nested-in-class.002: 1.10 mms, ObjectDestroy called destroy/delete-active-object-nested-in-class.003: 1.20 mms, object reclassed destroy/delete-active-object-nested-in-class.004: 0.90 mms, object still exists in proc destroy/delete-active-object-nested-in-class.005: 1.10 mms, class still exists in proc destroy/delete-active-object-nested-in-class.006: 1.00 mms, object still exists after proc destroy/delete-active-object-nested-in-class.007: 1.50 mms, class still exists after proc destroy/delete-active-object-nested-in-class.008: 1.00 mms, firstDestroy called destroy/delete-active-object-nested-in-class.009: 1.00 mms, ObjectDestroy called notice: Running test case: ./tests/destroy.test nesting-destroy destroy/nesting-destroy.001: 1.20 mms, parent object gone destroy/nesting-destroy.002: 1.30 mms, child object gone notice: Running test case: ./tests/destroy.test deleting-aliased-object1 destroy/deleting-aliased-object1.001: 1.30 mms, call object via alias destroy/deleting-aliased-object1.002: 2.50 mms, o info object method type a destroy/deleting-aliased-object1.003: 1.60 mms, call info on aliased object destroy/deleting-aliased-object1.004: 1.10 mms, set variable on object destroy/deleting-aliased-object1.005: 1.60 mms, query vars destroy/deleting-aliased-object1.006: 2.00 mms, query vars via alias destroy/deleting-aliased-object1.007: 1.70 mms, set var via alias Notice: trying to refetch an epoched cmd 0x3ffbbe1c2e0 as a -- cmdName o2 Notice: trying to refetch an epoched cmd 0x3ffbbe1c2e0 as a -- cmdName o2 Notice: trying to refetch an epoched cmd 0x3ffbbe1c2e0 as a -- cmdName o2 Notice: trying to refetch an epoched cmd 0x3ffbbe1c2e0 as a -- cmdName o2 Notice: trying to refetch an epoched cmd 0x3ffbbe1c2e0 as a -- cmdName o2 Notice: trying to refetch an epoched cmd 0x3ffbbe1c2e0 as a -- cmdName o2 Notice: trying to refetch an epoched cmd 0x3ffbbe1c2e0 as a -- cmdName o2 Notice: trying to refetch an epoched cmd 0x3ffbbe1c2e0 as a -- cmdName o2 Notice: trying to refetch an epoched cmd 0x3ffbbe1c2e0 as a -- cmdName o2 Notice: trying to refetch an epoched cmd 0x3ffbbe1c2e0 as a -- cmdName o2 Notice: trying to refetch an epoched cmd 0x3ffbbe1c2e0 as a -- cmdName o2 destroy/deleting-aliased-object1.008: 9.50 mms, 1st call on deleted object Notice: trying to refetch an epoched cmd 0x3ffbbe1c2e0 as a -- cmdName o2 Notice: trying to refetch an epoched cmd 0x3ffbbe1c2e0 as a -- cmdName o2 Notice: trying to refetch an epoched cmd 0x3ffbbe1c2e0 as a -- cmdName o2 Notice: trying to refetch an epoched cmd 0x3ffbbe1c2e0 as a -- cmdName o2 Notice: trying to refetch an epoched cmd 0x3ffbbe1c2e0 as a -- cmdName o2 Notice: trying to refetch an epoched cmd 0x3ffbbe1c2e0 as a -- cmdName o2 Notice: trying to refetch an epoched cmd 0x3ffbbe1c2e0 as a -- cmdName o2 Notice: trying to refetch an epoched cmd 0x3ffbbe1c2e0 as a -- cmdName o2 Notice: trying to refetch an epoched cmd 0x3ffbbe1c2e0 as a -- cmdName o2 Notice: trying to refetch an epoched cmd 0x3ffbbe1c2e0 as a -- cmdName o2 Notice: trying to refetch an epoched cmd 0x3ffbbe1c2e0 as a -- cmdName o2 destroy/deleting-aliased-object1.009: 6.40 mms, 2nd call on deleted object notice: Running test case: ./tests/destroy.test deleting-aliased-object2 destroy/deleting-aliased-object2.001: 1.30 mms, call object via alias destroy/deleting-aliased-object2.002: 2.50 mms, o info object method type a destroy/deleting-aliased-object2.003: 1.80 mms, call info on aliased object destroy/deleting-aliased-object2.004: 1.10 mms, set variable on object o destroy/deleting-aliased-object2.005: 1.50 mms, query vars of o destroy/deleting-aliased-object2.006: 1.80 mms, query vars via alias (from o2) destroy/deleting-aliased-object2.007: 1.80 mms, set var via alias (on o2) destroy/deleting-aliased-object2.008: 2.20 mms, query vars via alias (from o2) Notice: trying to refetch an epoched cmd 0x3ffbbe1c460 as a -- cmdName o2 Notice: trying to refetch an epoched cmd 0x3ffbbe1c460 as a -- cmdName o2 Notice: trying to refetch an epoched cmd 0x3ffbbe1c460 as a -- cmdName o2 Notice: trying to refetch an epoched cmd 0x3ffbbe1c460 as a -- cmdName o2 Notice: trying to refetch an epoched cmd 0x3ffbbe1c460 as a -- cmdName o2 Notice: trying to refetch an epoched cmd 0x3ffbbe1c460 as a -- cmdName o2 Notice: trying to refetch an epoched cmd 0x3ffbbe1c460 as a -- cmdName o2 Notice: trying to refetch an epoched cmd 0x3ffbbe1c460 as a -- cmdName o2 Notice: trying to refetch an epoched cmd 0x3ffbbe1c460 as a -- cmdName o2 Notice: trying to refetch an epoched cmd 0x3ffbbe1c460 as a -- cmdName o2 Notice: trying to refetch an epoched cmd 0x3ffbbe1c460 as a -- cmdName o2 destroy/deleting-aliased-object2.009: 6.30 mms, 1st call on deleted object Notice: trying to refetch an epoched cmd 0x3ffbbe1c460 as a -- cmdName o2 Notice: trying to refetch an epoched cmd 0x3ffbbe1c460 as a -- cmdName o2 Notice: trying to refetch an epoched cmd 0x3ffbbe1c460 as a -- cmdName o2 Notice: trying to refetch an epoched cmd 0x3ffbbe1c460 as a -- cmdName o2 Notice: trying to refetch an epoched cmd 0x3ffbbe1c460 as a -- cmdName o2 Notice: trying to refetch an epoched cmd 0x3ffbbe1c460 as a -- cmdName o2 Notice: trying to refetch an epoched cmd 0x3ffbbe1c460 as a -- cmdName o2 Notice: trying to refetch an epoched cmd 0x3ffbbe1c460 as a -- cmdName o2 Notice: trying to refetch an epoched cmd 0x3ffbbe1c460 as a -- cmdName o2 Notice: trying to refetch an epoched cmd 0x3ffbbe1c460 as a -- cmdName o2 Notice: trying to refetch an epoched cmd 0x3ffbbe1c460 as a -- cmdName o2 destroy/deleting-aliased-object2.010: 6.60 mms, 2nd call on deleted object notice: Running test case: ./tests/destroy.test deleting-object-with-alias-to-object destroy/deleting-object-with-alias-to-object.001: 1.10 mms, parent object gone destroy/deleting-object-with-alias-to-object.002: 0.90 mms, aliased object still here destroy/deleting-object-with-alias-to-object.003: 1.20 mms, aliased object destroyed notice: Running test case: ./tests/destroy.test create-alias-delete-via-aggregation Notice: trying to refetch an epoched cmd 0x3ffbbcea670 as x -- cmdName o3 Notice: trying to refetch an epoched cmd 0x3ffbbcea670 as x -- cmdName o3 Notice: trying to refetch an epoched cmd 0x3ffbbcea670 as x -- cmdName o3 Notice: trying to refetch an epoched cmd 0x3ffbbcea670 as x -- cmdName o3 Notice: trying to refetch an epoched cmd 0x3ffbbcea670 as x -- cmdName o3 Notice: trying to refetch an epoched cmd 0x3ffbbcea670 as x -- cmdName o3 Notice: trying to refetch an epoched cmd 0x3ffbbcea670 as x -- cmdName o3 Notice: trying to refetch an epoched cmd 0x3ffbbcea670 as x -- cmdName o3 Notice: trying to refetch an epoched cmd 0x3ffbbcea670 as x -- cmdName o3 Notice: trying to refetch an epoched cmd 0x3ffbbcea670 as x -- cmdName o3 Notice: trying to refetch an epoched cmd 0x3ffbbcea670 as x -- cmdName o3 destroy/create-alias-delete-via-aggregation.001: 6.30 mms, o x foo destroy/create-alias-delete-via-aggregation.002: 1.20 mms, aliased object destroyed notice: Running test case: ./tests/destroy.test create-alias-and-recreate-obj destroy/create-alias-and-recreate-obj.001: 1.90 mms, aliased object works after recreate notice: Running test case: ./tests/destroy.test create-alias-on-class-delete-aliased-obj destroy/create-alias-on-class-delete-aliased-obj.001: 1.90 mms, call 1st level destroy/create-alias-on-class-delete-aliased-obj.002: 1.90 mms, call 2nd level destroy/create-alias-on-class-delete-aliased-obj.003: 1.10 mms, call 1st level ok destroy/create-alias-on-class-delete-aliased-obj.004: 1.00 mms, call 2nd level ok Notice: trying to refetch an epoched cmd 0x3ffbbceba70 as b -- cmdName o Notice: trying to refetch an epoched cmd 0x3ffbbceba70 as b -- cmdName o Notice: trying to refetch an epoched cmd 0x3ffbbceba70 as b -- cmdName o Notice: trying to refetch an epoched cmd 0x3ffbbceba70 as b -- cmdName o Notice: trying to refetch an epoched cmd 0x3ffbbceba70 as b -- cmdName o Notice: trying to refetch an epoched cmd 0x3ffbbceba70 as b -- cmdName o Notice: trying to refetch an epoched cmd 0x3ffbbceba70 as b -- cmdName o Notice: trying to refetch an epoched cmd 0x3ffbbceba70 as b -- cmdName o Notice: trying to refetch an epoched cmd 0x3ffbbceba70 as b -- cmdName o Notice: trying to refetch an epoched cmd 0x3ffbbceba70 as b -- cmdName o Notice: trying to refetch an epoched cmd 0x3ffbbceba70 as b -- cmdName o destroy/create-alias-on-class-delete-aliased-obj.005: 6.30 mms, call via alias to deleted object notice: Running test case: ./tests/destroy.test create-alias-on-class-destroy-class destroy/create-alias-on-class-destroy-class.001: 0.90 mms, object o still here destroy/create-alias-on-class-destroy-class.002: 0.90 mms, object o3 still here notice: Running test case: ./tests/destroy.test module destroy/module.001: 1.00 mms, ::nsf::is class ::module destroy/module.002: 1.50 mms, ::nsf::is class ::module notice: Running test case: ./tests/destroy.test namespace-import destroy/namespace-import.001: 1.00 mms, ::nsf::is class ::module::Foo destroy/namespace-import.002: 2.40 mms, ::nsf::is class ::module::foo destroy/namespace-import.003: 0.90 mms, ::nsf::object::exists ::module::foo destroy/namespace-import.004: 1.00 mms, ::nsf::is class ::module destroy/namespace-import.005: 1.00 mms, ::nsf::is class ::o::Foo destroy/namespace-import.006: 0.90 mms, ::nsf::object::exists ::o::foo destroy/namespace-import.007: 1.40 mms, ::nsf::is class ::o::Foo destroy/namespace-import.008: 0.90 mms, ::nsf::object::exists ::o::foo destroy/namespace-import.009: 1.00 mms, ::nsf::is class ::module::Foo destroy/namespace-import.010: 0.90 mms, ::nsf::object::exists ::module::foo notice: Running test case: ./tests/destroy.test delete-parent-namespace-dealloc ==== create an alias, and delete cmd via aggregation ::test::c1 AAAA ::test::c1 exists 0 ???? ::test::c1 exists 0 destroy/delete-parent-namespace-dealloc.001: 1.00 mms, ::nsf::object::exists ::test::c1 Warning: Namespace of ::test::C is apparently deleted Warning: Namespace of ::test::c1 is apparently deleted ???? ::test::c1 exists 0 destroy/delete-parent-namespace-dealloc.002: 1.00 mms, firstDestroy called Warning: Namespace of ::test::C is apparently deleted Warning: Namespace of ::test::c1 is apparently deleted destroy/delete-parent-namespace-dealloc.003: 1.00 mms, create an alias, and delete cmd via aggregation destroy not yet called Warning: Namespace of ::test::C is apparently deleted Warning: Namespace of ::test::c1 is apparently deleted *** ::test::c1 destroy destroy/delete-parent-namespace-dealloc.004: 1.20 mms, object still exists after proc destroy/delete-parent-namespace-dealloc.005: 1.00 mms, firstDestroy called destroy/delete-parent-namespace-dealloc.006: 1.00 mms, destroy was called when popping stack frame destroy/delete-parent-namespace-dealloc.007: 1.00 mms, class still exists after proc Warning: Non-positional parameter -count was passed more than once (::speedtest/test.005 method configure speedtest/test.005 -count 1000 -verbose 0 -cmd {llength [c info children]} -count 1 -expected 20) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.006 method configure speedtest/test.006 -count 1000 -verbose 0 -cmd {set x [llength [c info children]]} -count 1 -expected 20) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.007 method configure speedtest/test.007 -count 1000 -verbose 0 -cmd {set x [llength [Object info instances]]} -count 1 -expected 26) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.008 method configure speedtest/test.008 -count 1000 -verbose 0 -cmd {llength [Object info instances]} -count 1 -expected 26) destroy/delete-parent-namespace-dealloc.008: 0.90 mms, namespace ::test::C still exists after proc Warning: Non-positional parameter -count was passed more than once (::speedtest/test.042 method configure speedtest/test.042 -count 1000 -verbose 0 -cmd {llength [Object info instances]} -count 1 -expected 26) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.043 method configure speedtest/test.043 -count 1000 -verbose 0 -cmd {set x [llength [Object info instances]]} -count 1 -expected 26) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.048 method configure speedtest/test.048 -count 1000 -verbose 0 -cmd {llength [Object info instances]} -count 1 -expected 26) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.049 method configure speedtest/test.049 -count 1000 -verbose 0 -cmd {set x [llength [Object info instances]]} -count 1 -expected 26) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.051 method configure speedtest/test.051 -count 1000 -verbose 0 -cmd {llength [Object info instances]} -count 1 -expected 26) destroy/delete-parent-namespace-dealloc.009: 0.80 mms, parent ::test namespace still exists after proc Warning: Non-positional parameter -count was passed more than once (::speedtest/test.055 method configure speedtest/test.055 -count 1000 -verbose 0 -count 1 -cmd {llength [Object info instances]} -expected 26) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.056 method configure speedtest/test.056 -count 1000 -verbose 0 -cmd {Object new -volatile} -expected ::nsf::__#F9 -count 2000 -post {foreach o [Object info instances ::nsf::__*] {$o destroy}}) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.057 method configure speedtest/test.057 -count 1000 -verbose 0 -count 1 -cmd {llength [Object info instances]} -expected 26) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.058 method configure speedtest/test.058 -count 1000 -verbose 0 -cmd {Object new} -expected ::nsf::__#lQ -count 2000 -post {foreach o [Object info instances ::nsf::__*] {$o destroy}}) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.059 method configure speedtest/test.059 -count 1000 -verbose 0 -count 1 -cmd {llength [Object info instances]} -expected 26) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.061 method configure speedtest/test.061 -count 1000 -verbose 0 -count 1 -cmd {llength [Object info instances]} -expected 26) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.062 method configure speedtest/test.062 -count 1000 -verbose 0 -count 1000 -pre {::set ::count 0} -cmd {Object create [incr ::count]} -expected ::1 -post {::unset ::count}) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.063 method configure speedtest/test.063 -count 1000 -verbose 0 -count 1000 -pre {::set ::count 0} -cmd {[incr ::count] destroy} -post {::unset ::count} -expected {}) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.064 method configure speedtest/test.064 -count 1000 -verbose 0 -count 1 -cmd {llength [Object info instances]} -expected 26) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.066 method configure speedtest/test.066 -count 1000 -verbose 0 -count 1 -cmd {llength [Object info instances]} -expected 27) destroy/delete-parent-namespace-dealloc.010: 0.90 mms, namespace ::xotcl::classes::test::C still exists after proc Warning: Non-positional parameter -count was passed more than once (::speedtest/test.068 method configure speedtest/test.068 -count 1000 -verbose 0 -count 1 -cmd {llength [Object info instances]} -expected 27) notice: Running test case: ./tests/destroy.test destroy-during-init Warning: Non-positional parameter -count was passed more than once (::speedtest/test.070 method configure speedtest/test.070 -count 1000 -verbose 0 -count 1 -cmd {llength [Object info instances]} -expected 27) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.072 method configure speedtest/test.072 -count 1000 -verbose 0 -count 1 -cmd {llength [Object info instances]} -expected 27) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.078 method configure speedtest/test.078 -count 1000 -verbose 0 -count 1 -cmd {llength [Object info instances]} -expected 27) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.082 method configure speedtest/test.082 -count 1000 -verbose 0 -count 100 -pre {set ::c::l ""} -cmd {lappend ::c::l 1} -post {c unset l}) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.083 method configure speedtest/test.083 -count 1000 -verbose 0 -count 100 -cmd {c mixinappend M1} -expected ::M1 -post {c mixin ""}) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.084 method configure speedtest/test.084 -count 1000 -verbose 0 -count 100 -cmd {c ma M1} -expected ::M1 -post {c mixin ""}) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.085 method configure speedtest/test.085 -count 1000 -verbose 0 -count 100 -cmd {c mixin add M1} -expected ::M1 -post {c mixin ""}) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.086 method configure speedtest/test.086 -count 1000 -verbose 0 -count 100 -cmd {c mixinappend M1; c mixinappend M2} -expected {::M1 ::M2} -post {c mixin ""}) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.087 method configure speedtest/test.087 -count 1000 -verbose 0 -count 100 -cmd {c ma M1; c ma M2} -expected {::M1 ::M2} -post {c mixin ""}) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.088 method configure speedtest/test.088 -count 1000 -verbose 0 -count 100 -pre {Class D; Class E; Object o -mixin {D E}} -cmd {o info mixin D} -expected ::D -post {foreach o {D E o} {$o destroy}}) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.089 method configure speedtest/test.089 -count 1000 -verbose 0 -count 100 -pre {Class D; Class E; Object o -mixin {D E}} -cmd {o info mixin E} -expected ::E -post {foreach o {D E o} {$o destroy}}) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.090 method configure speedtest/test.090 -count 1000 -verbose 0 -count 100 -pre {Class D; Class E; Object o -mixin {D E}} -cmd {o info mixin ::E*} -expected ::E -post {foreach o {D E o} {$o destroy}}) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.091 method configure speedtest/test.091 -count 1000 -verbose 0 -count 100 -pre {Class D; Class E; Class E1; Object o -mixin {D E E1}} -cmd {o info mixin ::E*} -expected {::E ::E1} -post {foreach o {D E E1 o} {$o destroy}}) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.092 method configure speedtest/test.092 -count 1000 -verbose 0 -count 100 -pre {Class D; Class E; Class X1 -instmixin {D E}} -cmd {X1 info instmixin D} -expected ::D -post {foreach o {D E X1} {$o destroy}}) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.093 method configure speedtest/test.093 -count 1000 -verbose 0 -count 100 -pre {Class D; Class E; Class X2 -instmixin {D E}} -cmd {X2 info instmixin E} -expected ::E -post {foreach o {D E X2} {$o destroy}}) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.094 method configure speedtest/test.094 -count 1000 -verbose 0 -count 100 -pre {Class D; Class E; Class E1; Class X -instmixin {D E E1}} -cmd {X info instmixin ::E*} -expected {::E ::E1} -post {foreach o {D E E1 X} {$o destroy}}) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.095 method configure speedtest/test.095 -count 1000 -verbose 0 -count 100 -pre {Class D; Class E; Class X3 -instmixin {D E}} -cmd {X3 info instmixin ::E*} -expected ::E -post {foreach o {D E X3} {$o destroy}}) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.096 method configure speedtest/test.096 -count 1000 -verbose 0 -count 100 -pre {Class D; Class E; Class X} -cmd {X instmixin {D E}; X instmixin delete ::E; X info instmixin} -expected ::D -post {foreach o {D E X} {$o destroy}}) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.097 method configure speedtest/test.097 -count 1000 -verbose 0 -count 100 -pre {Class D; Class E; Class X} -cmd {X instmixin {D E}; X instmixin delete E; X info instmixin} -expected ::D -post {foreach o {D E X} {$o destroy}}) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.098 method configure speedtest/test.098 -count 1000 -verbose 0 -count 100 -pre {Class D; Class E; Class E1; Class X} -cmd {X instmixin {D E E1}; catch {X instmixin delete ::E*}; X info instmixin} -expected ::D -post {foreach o {D E E1 X} {$o destroy}}) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.099 method configure speedtest/test.099 -count 1000 -verbose 0 -count 100 -pre {Class D; Class E; Class E1; Class X} -cmd {X instmixin {D E E1}; catch {X instmixin delete E*}; X info instmixin} -expected ::D -post {foreach o {D E E1 X} {$o destroy}}) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.110 method configure speedtest/test.110 -count 1000 -verbose 0 -msg {call proc of subobject directly} -pre {C c2; C c2::o; c2::o proc f a {incr a}} -cmd {c2::o::f 10} -expected 11 -count 5000 -post {c2 destroy}) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.111 method configure speedtest/test.111 -count 1000 -verbose 0 -msg {call proc of subobject via dispatch} -pre {C c2; C c2::o; c2::o proc f a {incr a}} -cmd {c2::o f 10} -expected 11 -count 5000 -post {c2 destroy}) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.112 method configure speedtest/test.112 -count 1000 -verbose 0 -msg {dispatch subobject directly via [self]} -pre {C c2; C c2::o; c2::o proc f a {incr a}; c2 proc t a {[self]::o f $a}} -cmd {c2 t 12} -expected 13 -count 5000 -post {c2 destroy}) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.114 method configure speedtest/test.114 -count 1000 -verbose 0 -msg {call forwarder (regexep) and check created variable} -pre {Object o; o forward regexp -objscope} -cmd {o regexp (a) a _ x; o exists x} -expected 1 -count 10000 -post {o destroy}) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.115 method configure speedtest/test.115 -count 1000 -verbose 0 -msg {call forwarder to another obj} -pre {Object o; Object t; o forward set t set; t set x 100} -cmd {o set x} -expected 100 -count 10000 -post {o destroy}) destroy/destroy-during-init.001: 1.00 mms, explicit destroy of object Warning: Non-positional parameter -count was passed more than once (::speedtest/test.116 method configure speedtest/test.116 -count 1000 -verbose 0 -msg {call handcoded incr} -pre {Class C; C create o; o set x 1} -cmd {o incr x 77} -expected 78 -count 100000 -post {o destroy}) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.117 method configure speedtest/test.117 -count 1000 -verbose 0 -msg {call incr via instforward} -pre {Class C; C instforward ::incr -objscope; C create o; o set x 1} -cmd {o incr x 77} -expected 78 -count 100000 -post {o destroy}) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.118 method configure speedtest/test.118 -count 1000 -verbose 0 -msg {call incr via forward} -pre {Class C; C create o; o forward ::incr -objscope; o set x 1} -cmd {o incr x 77} -expected 78 -count 100000 -post {o destroy}) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.119 method configure speedtest/test.119 -count 1000 -verbose 0 -msg {call obj with namespace via forward} -pre {Object n; Object n::x; Object o -forward ::n::x} -cmd {o x self} -expected ::n::x -count 10000 -post {o destroy}) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.120 method configure speedtest/test.120 -count 1000 -verbose 0 -msg {call obj with namespace via instforward} -pre {Object n; Object n::x; Class C; C create o; C instforward ::n::x} -cmd {o x self} -expected ::n::x -count 10000 -post {o destroy}) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.121 method configure speedtest/test.121 -count 1000 -verbose 0 -msg {call obj with namespace via instforward and mixinclass} -pre {Object n; Object n::x; Class M -instforward ::n::x; Class C -instmixin M; C create o } -cmd {o x self} -expected ::n::x -count 10000 -post {o destroy}) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.122 method configure speedtest/test.122 -count 1000 -verbose 0 -msg {call obj with namespace via instforward and next from proc} -pre { Object n; Object n::x; Class C -instforward ::n::x; C create o -proc x args {next} } -cmd {o x self} -expected ::n::x -count 10000 -post {o destroy}) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.123 method configure speedtest/test.123 -count 1000 -verbose 0 -msg {call obj with namespace via instforward and next from instproc} -pre { Object n; Object n::x; Class C -instforward ::n::x; Class D -superclass C -instproc x args {next}; D create o } -cmd {o x self} -expected ::n::x -count 10000 -post {o destroy}) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.124 method configure speedtest/test.124 -count 1000 -verbose 0 -msg {call obj with namespace via mixin and instforward and next} -pre {Object n; Object n::x; Class M -instforward ::n::x; Class N -superclass M -instproc x args {next}; Class C -instmixin N; C create o} -cmd {o x self} -expected ::n::x -count 10000 -post {o destroy}) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.125 method configure speedtest/test.125 -count 1000 -verbose 0 -msg {return -code break} -pre {Class A -instproc br {} {return -code break}; A create a1} -cmd {catch {a1 br}} -expected 3 -count 2 -post {A destroy; a1 destroy}) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.126 method configure speedtest/test.126 -count 1000 -verbose 0 -msg {volatile + new overloaded } -pre {Class A; A proc new args {next}} -cmd {set a [A new -volatile]; $a info class} -expected ::A -count 2 -post {A destroy}) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.127 method configure speedtest/test.127 -count 1000 -verbose 0 -msg {volatile + next overloaded + proc } -pre {Class A; A proc new args {next}; proc foo {} {set a [A new -volatile]; $a info class}} -cmd {foo; ::A info instances} -expected {} -count 2 -post {A destroy; rename foo ""}) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.128 method configure speedtest/test.128 -count 1000 -verbose 0 -msg {volatile + configure overloaded} -pre {Class A; A instproc configure args {next}} -cmd {A create a1 -volatile; A a2 -volatile; lsort [A info instances]} -expected {::a1 ::a2} -count 2 -post {A destroy}) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.129 method configure speedtest/test.129 -count 1000 -verbose 0 -msg {volatile + configure overloaded + proc} -pre {Class A; A instproc configure args {next}; proc foo {} {A create a1 -volatile; A a2 -volatile}} -cmd {foo; ::A info instances} -expected {} -count 2 -post {A destroy; rename foo ""}) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.130 method configure speedtest/test.130 -count 1000 -verbose 0 -msg {volatile + new overloaded + mixin + proc} -pre { Class MC -superclass Class;MC instproc new args {next} Class M; M instproc new args {puts M; next} MC A; A instmixin M MC B -superclass A; B proc new args {next} proc foo {} {B create b1 -volatile; b1 info class} } -cmd {foo; ::B info instances} -expected {} -count 2 -post {B destroy; A destroy; M destroy; MC destroy; rename foo ""}) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.131 method configure speedtest/test.131 -count 1000 -verbose 0 -msg {dict external} -pre { unset ::_ Object create o } -cmd { lappend ::_ [o dict set d a first] lappend ::_ [o dict set d b second] lappend ::_ [o dict get [o set d] b] set ::_ } -expected {{a first} {a first b second} second} -count 2 -post {o destroy; unset ::_}) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.132 method configure speedtest/test.132 -count 1000 -verbose 0 -msg {dict resolver} -pre { Object create o o proc foo {} { dict set :mydict 1 one dict set :mydict 2 two dict keys ${:mydict} } } -cmd { o foo } -expected {1 2} -count 2 -post {o destroy}) Warning: Non-positional parameter -count was passed more than once (::speedtest/test.133 method configure speedtest/test.133 -count 1000 -verbose 0 -msg {autonamed property + overloaded create} -pre { set ::_ {} ::xotcl::Class create ::xotcl::_creator -instproc create {args} { set r [next] lappend ::_ [nsf::object::property $r autonamed] return $r } ::xotcl::Class instmixin ::xotcl::_creator } -cmd {::xotcl::Object new; ::xotcl::Object a; ::xotcl::Object create a; ::xotcl::Object new; set ::_} -expected {1 0 0 1} -count 1 -post {::xotcl::Class instmixin ""; ::xotcl::_creator destroy; a destroy}) destroy/destroy-during-init.002: 1.30 mms, explicit destroy of class speedtest/test.001: test multiple dashed args o0 ok speedtest/test.002: test multiple dashed args o1 ok speedtest/test.003: test multiple dashed args o2 ok speedtest/test.004: test multiple dashed args o3 ok speedtest/test.005: llength [c info children] ok speedtest/test.006: set x [llength [c info children]] ok speedtest/test.007: set x [llength [Object info instances]] ok speedtest/test.008: llength [Object info instances] ok destroy/destroy-during-init.003: 1.20 mms, destroy via volatile destroy/destroy-during-init.004: 1.50 mms, destroy via volatile method speedtest/test.009: 2.02 mms, d istype D destroy/destroy-during-init.005: 1.20 mms, destroy via volatile + 2 filters destroy/destroy-during-init.006: 1.50 mms, destroy via volatile method + 2 filters notice: Running test case: ./tests/destroy.test nested-ordered-composite speedtest/test.010: 1.43 mms, c setViaInstvar 100 speedtest/test.011: 1.37 mms, c setViaSetMethod 100 destroy/nested-ordered-composite.001: 1.30 mms, llength [o1 info children] destroy/nested-ordered-composite.002: 1.60 mms, llength [o1::o2 info children] destroy/nested-ordered-composite.003: 1.30 mms, llength [o1 info children] destroy/nested-ordered-composite.004: 1.60 mms, llength [o1::o2 info children] destroy/nested-ordered-composite.005: 1.30 mms, llength [o1 info children] speedtest/test.012: 1.38 mms, c setViaParameter 100 destroy/nested-ordered-composite.006: 1.50 mms, llength [o1::o2 info children] destroy/nested-ordered-composite.007: 1.30 mms, llength [o1 info children] destroy/nested-ordered-composite.008: 1.50 mms, llength [o1::o2 info children] destroy/nested-ordered-composite.009: 1.20 mms, llength [o1 info children] destroy/nested-ordered-composite.010: 1.60 mms, llength [o1::o2 info children] speedtest/test.013: 1.42 mms, c existsViaInstvar destroy/nested-ordered-composite.011: 1.20 mms, llength [o1 info children] destroy/nested-ordered-composite.012: 1.60 mms, llength [o1::o2 info children] destroy/nested-ordered-composite.013: 1.30 mms, llength [o1 info children] destroy/nested-ordered-composite.014: 1.50 mms, llength [o1::o2 info children] destroy/nested-ordered-composite.015: 1.30 mms, llength [o1 info children] destroy/nested-ordered-composite.016: 1.50 mms, llength [o1::o2 info children] speedtest/test.014: 1.45 mms, c existsViaMyInstvar destroy/nested-ordered-composite.017: 1.20 mms, llength [o1 info children] destroy/nested-ordered-composite.018: 1.50 mms, llength [o1::o2 info children] destroy/nested-ordered-composite.019: 1.20 mms, llength [o1 info children] destroy/nested-ordered-composite.020: 1.60 mms, llength [o1::o2 info children] destroy/nested-ordered-composite.021: 1.30 mms, llength [o1 info children] destroy/nested-ordered-composite.022: 1.60 mms, llength [o1::o2 info children] destroy/nested-ordered-composite.023: 1.20 mms, llength [o1 info children] destroy/nested-ordered-composite.024: 1.70 mms, llength [o1::o2 info children] speedtest/test.015: 1.99 mms, c existsViaExistsMethod destroy/nested-ordered-composite.025: 1.20 mms, llength [o1 info children] destroy/nested-ordered-composite.026: 1.60 mms, llength [o1::o2 info children] destroy/nested-ordered-composite.027: 1.20 mms, llength [o1 info children] destroy/nested-ordered-composite.028: 1.70 mms, llength [o1::o2 info children] destroy/nested-ordered-composite.029: 1.20 mms, llength [o1 info children] speedtest/test.016: 1.45 mms, c existsViaMyExistsMethod destroy/nested-ordered-composite.030: 1.70 mms, llength [o1::o2 info children] destroy/nested-ordered-composite.031: 1.30 mms, llength [o1 info children] destroy/nested-ordered-composite.032: 1.70 mms, llength [o1::o2 info children] destroy/nested-ordered-composite.033: 1.20 mms, llength [o1 info children] destroy/nested-ordered-composite.034: 1.70 mms, llength [o1::o2 info children] speedtest/test.017: 1.38 mms, c existsViaDotExistsMethod destroy/nested-ordered-composite.035: 1.20 mms, llength [o1 info children] destroy/nested-ordered-composite.036: 1.70 mms, llength [o1::o2 info children] destroy/nested-ordered-composite.037: 1.30 mms, llength [o1 info children] speedtest/test.018: 0.91 mms, c existsViaResolver destroy/nested-ordered-composite.038: 1.90 mms, llength [o1::o2 info children] destroy/nested-ordered-composite.039: 1.20 mms, llength [o1 info children] destroy/nested-ordered-composite.040: 1.70 mms, llength [o1::o2 info children] destroy/nested-ordered-composite.041: 1.20 mms, llength [o1 info children] speedtest/test.019: 1.05 mms, c exists v destroy/nested-ordered-composite.042: 1.70 mms, llength [o1::o2 info children] destroy/nested-ordered-composite.043: 1.30 mms, llength [o1 info children] destroy/nested-ordered-composite.044: 1.70 mms, llength [o1::o2 info children] destroy/nested-ordered-composite.045: 1.20 mms, llength [o1 info children] destroy/nested-ordered-composite.046: 1.60 mms, llength [o1::o2 info children] speedtest/test.020: 1.46 mms, c notExistsViaInstvar destroy/nested-ordered-composite.047: 1.30 mms, llength [o1 info children] destroy/nested-ordered-composite.048: 1.70 mms, llength [o1::o2 info children] destroy/nested-ordered-composite.049: 1.20 mms, llength [o1 info children] destroy/nested-ordered-composite.050: 1.70 mms, llength [o1::o2 info children] destroy/nested-ordered-composite.051: 1.20 mms, llength [o1 info children] destroy/nested-ordered-composite.052: 1.70 mms, llength [o1::o2 info children] speedtest/test.021: 1.53 mms, c notExistsViaExistsMethod destroy/nested-ordered-composite.053: 1.20 mms, llength [o1 info children] destroy/nested-ordered-composite.054: 1.70 mms, llength [o1::o2 info children] destroy/nested-ordered-composite.055: 1.30 mms, llength [o1 info children] destroy/nested-ordered-composite.056: 1.70 mms, llength [o1::o2 info children] speedtest/test.022: 1.10 mms, c exists xxx destroy/nested-ordered-composite.057: 1.30 mms, llength [o1 info children] destroy/nested-ordered-composite.058: 1.60 mms, llength [o1::o2 info children] destroy/nested-ordered-composite.059: 1.20 mms, llength [o1 info children] destroy/nested-ordered-composite.060: 1.60 mms, llength [o1::o2 info children] speedtest/test.023: 1.98 mms, c existsAndReturnValue1 speedtest/test.024: 2.02 mms, c existsAndReturnValue3 speedtest/test.025: 1.49 mms, c testAndSetViaInstvar 100 speedtest/test.026: 2.33 mms, c testAndSetViaSetMethod 100 speedtest/test.027: 1.41 mms, c readViaInstvar speedtest/test.028: 1.37 mms, c readViaSetMethod speedtest/test.029: 1.38 mms, c readViaParameter speedtest/test.030: 1.19 mms, c readViaSetMethodNoSelf speedtest/test.031: 1.45 mms, c readTwiceViaInstvar speedtest/test.032: 1.80 mms, c readTwiceViaSetMethod speedtest/test.033: 1.78 mms, c readTwiceViaParameter speedtest/test.034: 1.49 mms, c readTwiceViaSetMethodNoSelf speedtest/test.035: 1.60 mms, c readTwovarsViaInstvar speedtest/test.036: 1.80 mms, c readTwovarsViaSetMethod speedtest/test.037: 1.81 mms, c readTwovarsViaParameter speedtest/test.038: 1.50 mms, c readTwovarsViaSetMethodNoSelf notice: Running test case: ./tests/destroy.test class-object-property speedtest/test.039: 2.01 mms, c instvarAlias speedtest/test.040: 0.97 mms, c incr v destroy/class-object-property.001: 1.00 mms, ::nsf::object::exists ::C destroy/class-object-property.002: 0.90 mms, ::nsf::object::exists ::C::slot speedtest/test.041: 1.94 mms, c unset v; set r [c exists v]; c set v 1; set r speedtest/test.042: llength [Object info instances] ok speedtest/test.043: set x [llength [Object info instances]] ok destroy/class-object-property.003: 0.90 mms, ::nsf::object::exists ::C speedtest/test.044: 0.89 mms, c explicitReturn destroy/class-object-property.004: 1.00 mms, ::nsf::object::exists ::C::slot speedtest/test.045: 0.88 mms, c implicitReturn destroy/class-object-property.005: 0.90 mms, ::nsf::object::exists ::C destroy/class-object-property.006: 0.90 mms, ::nsf::object::exists ::C::slot speedtest/test.046: 0.89 mms, c explicitReturnFromVar destroy/class-object-property.007: 0.90 mms, ::nsf::object::exists ::C destroy/class-object-property.008: 1.00 mms, ::nsf::object::exists ::C::slot destroy/class-object-property.009: 0.90 mms, ::nsf::object::exists ::C notice: Running test case: ./tests/destroy.test unset-traces-during-cleanup speedtest/test.047: 0.91 mms, c implicitReturnFromVar speedtest/test.048: llength [Object info instances] ok speedtest/test.049: set x [llength [Object info instances]] ok Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... Notice: Don't invoke object ::c::13 this way. Register object via alias ... speedtest/test.050: 12.99 mms, c childNodeNamespace speedtest/test.051: llength [Object info instances] ok speedtest/test.052: 3.10 mms, c childNodeNamespaceCreate speedtest/test.053: 1.55 mms, llength [Object info instances] destroy/unset-traces-during-cleanup.001: 1.50 mms, $i eval {info exists ::X} destroy/unset-traces-during-cleanup.002: 1.50 mms, $i eval {info exists ::X} destroy/unset-traces-during-cleanup.003: 1.40 mms, $i eval {set ::X} notice: Running test case: ./tests/destroy.test unset-traces-during-cleanup-with-destroy speedtest/test.054: 5.45 mms, c createVolatileRc speedtest/test.055: llength [Object info instances] ok speedtest/test.056: 5.07 mms, Object new -volatile speedtest/test.057: llength [Object info instances] ok speedtest/test.058: 2.95 mms, Object new destroy/unset-traces-during-cleanup-with-destroy.001: 1.50 mms, $i eval {info exists ::X} speedtest/test.059: llength [Object info instances] ok destroy/unset-traces-during-cleanup-with-destroy.002: 1.40 mms, $i eval {info exists ::X} destroy/unset-traces-during-cleanup-with-destroy.003: 1.40 mms, $i eval {set ::X} notice: Running test case: ./tests/destroy.test unset-traces-during-cleanup-with-destroy-2 speedtest/test.060: 3.03 mms, Object new -childof o speedtest/test.061: llength [Object info instances] ok speedtest/test.062: 2.50 mms, Object create [incr ::count] speedtest/test.063: 1.39 mms, [incr ::count] destroy speedtest/test.064: llength [Object info instances] ok speedtest/test.065: 2.01 mms, Object create x speedtest/test.066: llength [Object info instances] ok speedtest/test.067: 3.92 mms, Object create x -set a -1 -set b ,, -set c a-- speedtest/test.068: llength [Object info instances] ok speedtest/test.069: 1.28 mms, expr {[c array names n 5] ne ""} speedtest/test.070: llength [Object info instances] ok speedtest/test.071: 0.80 mms, info exists c::n(5) speedtest/test.072: llength [Object info instances] ok speedtest/test.073: 1.28 mms, c exists n(5) speedtest/test.074: 1.37 mms, llength [c info children] speedtest/test.075: 0.98 mms, c info children ::c::5 destroy/unset-traces-during-cleanup-with-destroy-2.001: 1.50 mms, $i eval {info exists ::MSG} speedtest/test.076: 1.01 mms, c info children 5 destroy/unset-traces-during-cleanup-with-destroy-2.002: 1.50 mms, $i eval {info exists ::MSG} destroy/unset-traces-during-cleanup-with-destroy-2.003: 1.40 mms, $i eval {set ::MSG} notice: Running test case: ./tests/destroy.test unset-traces-during-cleanup-with-reset speedtest/test.077: 1.43 mms, c info children 5* speedtest/test.078: llength [Object info instances] ok speedtest/test.079: 5.36 mms, Object info instances ::c::5* speedtest/test.080: 8.95 mms, Object info instances ::c::5 destroy/unset-traces-during-cleanup-with-reset.001: 1.40 mms, $i eval {::nsf::object::exists ::o} speedtest/test.081: 5.50 mms, Object info instances ::c::5000 speedtest/test.082: 0.94 mms, lappend ::c::l 1 destroy/unset-traces-during-cleanup-with-reset.002: 1.60 mms, $i eval {info commands ::o} destroy/unset-traces-during-cleanup-with-reset.003: 1.40 mms, $i eval {info commands ::o} speedtest/test.083: 8.56 mms, c mixinappend M1 notice: Running test case: ./tests/destroy.test unset-traces-during-cleanup-with-reset-2 speedtest/test.084: 6.54 mms, c ma M1 speedtest/test.085: 3.36 mms, c mixin add M1 speedtest/test.086: 17.88 mms, c mixinappend M1; c mixinappend M2 speedtest/test.087: 13.36 mms, c ma M1; c ma M2 speedtest/test.088: 27.74 mms, o info mixin D speedtest/test.089: 27.63 mms, o info mixin E speedtest/test.090: 27.65 mms, o info mixin ::E* speedtest/test.091: 28.22 mms, o info mixin ::E* speedtest/test.092: 3.03 mms, X1 info instmixin D speedtest/test.093: 3.01 mms, X2 info instmixin E speedtest/test.094: 3.17 mms, X info instmixin ::E* speedtest/test.095: 3.12 mms, X3 info instmixin ::E* destroy/unset-traces-during-cleanup-with-reset-2.001: 1.40 mms, $i eval {::nsf::object::exists ::o} destroy/unset-traces-during-cleanup-with-reset-2.002: 1.60 mms, $i eval {info commands ::o} destroy/unset-traces-during-cleanup-with-reset-2.003: 1.50 mms, $i eval {namespace exists ::o} speedtest/test.096: 7.67 mms, X instmixin {D E}; X instmixin delete ::E; X info instmixin destroy/unset-traces-during-cleanup-with-reset-2.004: 1.50 mms, $i eval {set ::called(reset)} speedtest/test.097: 8.53 mms, X instmixin {D E}; X instmixin delete E; X info instmixin speedtest/test.098: 7.69 mms, X instmixin {D E E1}; catch {X instmixin delete ::E*}; X info instmixin speedtest/test.099: 7.82 mms, X instmixin {D E E1}; catch {X instmixin delete E*}; X info instmixin speedtest/test.100: 2.13 mms, C instfilter f; C info instfilter destroy/unset-traces-during-cleanup-with-reset-2.005: 1.40 mms, $i eval {info commands ::o} destroy/unset-traces-during-cleanup-with-reset-2.006: 1.40 mms, $i eval {namespace exists ::o} speedtest/test.101: 0.70 mms, string match "\#*" $s notice: Running test case: ./tests/destroy.test unset-traces-during-cleanup-with-reset-3 speedtest/test.102: 0.93 mms, regexp {^\#} $s speedtest/test.103: 0.72 mms, expr {[string first "\#" $s] == 0} speedtest/test.104: 0.93 mms, expr {[string range $s 0 0] == "\#"} speedtest/test.105: 1.04 mms, regexp {^\#.*a} $s speedtest/test.106: 1.25 mms, regexp {^\#.*a.*o} $s speedtest/test.107: 1.26 mms, regexp {^\#.*a(.*)o} $s speedtest/test.108: 2.18 mms, regexp {^\#.*a(.*)o} $s _ destroy/unset-traces-during-cleanup-with-reset-3.001: 1.50 mms, $i eval {::nsf::object::exists ::o} destroy/unset-traces-during-cleanup-with-reset-3.002: 1.60 mms, $i eval {info commands ::o} destroy/unset-traces-during-cleanup-with-reset-3.003: 1.40 mms, $i eval {namespace exists ::o} destroy/unset-traces-during-cleanup-with-reset-3.004: 1.50 mms, $i eval {set ::called(reset)} destroy/unset-traces-during-cleanup-with-reset-3.005: 1.50 mms, $i eval {info commands ::o} destroy/unset-traces-during-cleanup-with-reset-3.006: 1.40 mms, $i eval {namespace exists ::o} destroy/unset-traces-during-cleanup-with-reset-3.007: 1.50 mms, $i eval {set ::called(reset)} notice: Running test case: ./tests/destroy.test rename-cached-method destroy/rename-cached-method.001: 1.10 mms, A new destroy/rename-cached-method.002: 3.50 mms, string match ::nsf::__#* [A new] destroy/rename-cached-method.003: 1.10 mms, A new destroy/rename-cached-method.004: A new ok destroy/rename-cached-method.005: 3.20 mms, string match ::nsf::__#* [A new] notice: Running test case: ./tests/destroy.test cyclical-dependency destroy/cyclical-dependency.001: 6.50 mms, nx::Class create o1::C destroy/cyclical-dependency.002: 1.00 mms, nsf::relation::set o1 class o1::C notice: Running test case: ./tests/destroy.test cyclical-dependency destroy/cyclical-dependency.003: 1.80 mms, nsf::relation::set C superclass {C::* nx::Object} ==== EXIT ./tests/destroy.test speedtest/test.109: 19.07 mms, regexp {^\#.*a(.*)o} $s _ out Summary: Test-set destroy tests 262 success 262 failure 0 ms 44 TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./tests`/methods.test -libdir `echo ./unix` -testlog ./__test.log speedtest/test.110: 0.88 mms, call proc of subobject directly speedtest/test.111: 0.87 mms, call proc of subobject via dispatch speedtest/test.112: 1.99 mms, dispatch subobject directly via [self] speedtest/test.113: 1.46 mms, call forwarder for (append) and check created variable notice: Running test case: ./tests/methods.test name-validity-checks methods/name-validity-checks.001: set ::h [nsf::method::create ::C "" {} {;}] ok methods/name-validity-checks.002: set ::h [nsf::method::create ::C {e1 m1} {} {;}] ok methods/name-validity-checks.003: set ::h [nsf::method::create ::C "e1\tm1" {} {;}] ok methods/name-validity-checks.004: set ::h [nsf::method::create ::C {{e1 m1}} {} {;}] ok Warning: cannot retrieve newly defined method : from namespace ::nsf::classes::C methods/name-validity-checks.005: set ::h [nsf::method::create ::C ":" {} {;}] ok methods/name-validity-checks.006: set ::h [nsf::method::create ::C " e1 " {} {;}] ok methods/name-validity-checks.007: set ::h [nsf::method::create ::C {" e1 "} {} {;}] ok methods/name-validity-checks.008: set ::h [nsf::method::create ::C "\te1" {} {;}] ok methods/name-validity-checks.009: set ::h [nsf::method::create ::C "e1\tm1" {} {;}] ok methods/name-validity-checks.010: set ::h [nsf::method::create ::C "\ne1" {} {;}] ok methods/name-validity-checks.011: set ::h [nsf::method::create ::C "e1\nm1" {} {;}] ok methods/name-validity-checks.012: set ::h [nsf::method::create ::C "\ve1" {} {;}] ok methods/name-validity-checks.013: set ::h [nsf::method::create ::C "e1\vm1" {} {;}] ok methods/name-validity-checks.014: set ::h [nsf::method::create ::C "\fe1" {} {;}] ok methods/name-validity-checks.015: set ::h [nsf::method::create ::C "e1\fm1" {} {;}] ok methods/name-validity-checks.016: set ::h [nsf::method::create ::C "\re1" {} {;}] ok methods/name-validity-checks.017: set ::h [nsf::method::create ::C "e1\rm1" {} {;}] ok methods/name-validity-checks.018: set ::h [nsf::method::create ::C {{{{{a}}}}} {} {;}] ok methods/name-validity-checks.019: set ::h [nsf::method::create ::C {#a} {} {;}] ok methods/name-validity-checks.020: set ::h [nsf::method::create ::C "" {} {;}] ok methods/name-validity-checks.021: set ::h [nsf::method::create ::C {{{{{a b}}}}} {} {;}] ok methods/name-validity-checks.022: 2.50 mms, c1 s0 set 0 methods/name-validity-checks.023: 1.80 mms, ::nsf::dispatch c1 s1 set 1 methods/name-validity-checks.024: 1.60 mms, C s3 set 3 notice: Running test case: ./tests/methods.test info-callprotection methods/info-callprotection.001: 2.20 mms, C info method callprotection plain_method methods/info-callprotection.002: 1.70 mms, C info method callprotection protected_method methods/info-callprotection.003: 2.10 mms, C info method callprotection public_method methods/info-callprotection.004: 2.10 mms, C info method callprotection plain_alias methods/info-callprotection.005: 1.80 mms, C info method callprotection protected_alias methods/info-callprotection.006: 4.70 mms, C info method callprotection public_alias methods/info-callprotection.007: 2.00 mms, C info method callprotection plain_forward methods/info-callprotection.008: 1.70 mms, C info method callprotection protected_forward methods/info-callprotection.009: 2.10 mms, C info method callprotection public_forward methods/info-callprotection.010: 2.50 mms, C info object method callprotection plain_object_method methods/info-callprotection.011: 2.00 mms, C info object method callprotection protected_object_method methods/info-callprotection.012: 2.30 mms, C info object method callprotection public_object_method methods/info-callprotection.013: 2.40 mms, C info object method callprotection plain_object_alias methods/info-callprotection.014: 1.90 mms, C info object method callprotection protected_object_alias methods/info-callprotection.015: 2.40 mms, C info object method callprotection public_object_alias methods/info-callprotection.016: 2.40 mms, C info object method callprotection plain_object_forward methods/info-callprotection.017: 1.90 mms, C info object method callprotection protected_object_forward methods/info-callprotection.018: 2.50 mms, C info object method callprotection public_object_forward notice: Running test case: ./tests/methods.test scripted-class-level-methods methods/scripted-class-level-methods.001: 1.30 mms, c2 plain_method methods/scripted-class-level-methods.002: 1.30 mms, c2 public_method Warning: '::c2 protected_method' fails since method ::C.protected_method is protected Warning: '::c2 protected_method' fails since method ::C.protected_method is protected Warning: '::c2 protected_method' fails since method ::C.protected_method is protected Warning: '::c2 protected_method' fails since method ::C.protected_method is protected Warning: '::c2 protected_method' fails since method ::C.protected_method is protected Warning: '::c2 protected_method' fails since method ::C.protected_method is protected Warning: '::c2 protected_method' fails since method ::C.protected_method is protected Warning: '::c2 protected_method' fails since method ::C.protected_method is protected Warning: '::c2 protected_method' fails since method ::C.protected_method is protected Warning: '::c2 protected_method' fails since method ::C.protected_method is protected Warning: '::c2 protected_method' fails since method ::C.protected_method is protected methods/scripted-class-level-methods.003: 9.00 mms, catch {c2 protected_method} methods/scripted-class-level-methods.004: 1.40 mms, ::nsf::dispatch c2 protected_method methods/scripted-class-level-methods.005: 1.10 mms, info commands ::nsf::classes::C::public_method notice: Running test case: ./tests/methods.test class-level-forwards methods/class-level-forwards.001: 1.40 mms, c2 plain_forward methods/class-level-forwards.002: 1.90 mms, c2 public_forward Warning: '::c2 protected_forward' fails since method ::C.protected_forward is protected Warning: '::c2 protected_forward' fails since method ::C.protected_forward is protected Warning: '::c2 protected_forward' fails since method ::C.protected_forward is protected Warning: '::c2 protected_forward' fails since method ::C.protected_forward is protected Warning: '::c2 protected_forward' fails since method ::C.protected_forward is protected Warning: '::c2 protected_forward' fails since method ::C.protected_forward is protected Warning: '::c2 protected_forward' fails since method ::C.protected_forward is protected Warning: '::c2 protected_forward' fails since method ::C.protected_forward is protected Warning: '::c2 protected_forward' fails since method ::C.protected_forward is protected Warning: '::c2 protected_forward' fails since method ::C.protected_forward is protected Warning: '::c2 protected_forward' fails since method ::C.protected_forward is protected methods/class-level-forwards.003: 9.00 mms, catch {c2 protected_forward} methods/class-level-forwards.004: 1.60 mms, ::nsf::dispatch c2 protected_forward notice: Running test case: ./tests/methods.test class-level-setter methods/class-level-setter.001: c2 plain_setter 1 ok methods/class-level-setter.002: 1.60 mms, c2 public_setter set 2 Warning: '::c2 protected_setter' fails since method ::C.protected_setter is protected Warning: '::c2 protected_setter' fails since method ::C.protected_setter is protected Warning: '::c2 protected_setter' fails since method ::C.protected_setter is protected Warning: '::c2 protected_setter' fails since method ::C.protected_setter is protected Warning: '::c2 protected_setter' fails since method ::C.protected_setter is protected Warning: '::c2 protected_setter' fails since method ::C.protected_setter is protected Warning: '::c2 protected_setter' fails since method ::C.protected_setter is protected Warning: '::c2 protected_setter' fails since method ::C.protected_setter is protected Warning: '::c2 protected_setter' fails since method ::C.protected_setter is protected Warning: '::c2 protected_setter' fails since method ::C.protected_setter is protected Warning: '::c2 protected_setter' fails since method ::C.protected_setter is protected methods/class-level-setter.003: 8.90 mms, catch {c2 protected_setter set 3} methods/class-level-setter.004: 1.70 mms, ::nsf::dispatch c2 protected_setter set 4 notice: Running test case: ./tests/methods.test class-level-alias methods/class-level-alias.001: 1.20 mms, c2 plain_alias methods/class-level-alias.002: 1.20 mms, c2 public_alias Warning: '::c2 protected_alias' fails since method ::C.protected_alias is protected Warning: '::c2 protected_alias' fails since method ::C.protected_alias is protected Warning: '::c2 protected_alias' fails since method ::C.protected_alias is protected Warning: '::c2 protected_alias' fails since method ::C.protected_alias is protected Warning: '::c2 protected_alias' fails since method ::C.protected_alias is protected Warning: '::c2 protected_alias' fails since method ::C.protected_alias is protected Warning: '::c2 protected_alias' fails since method ::C.protected_alias is protected Warning: '::c2 protected_alias' fails since method ::C.protected_alias is protected Warning: '::c2 protected_alias' fails since method ::C.protected_alias is protected Warning: '::c2 protected_alias' fails since method ::C.protected_alias is protected Warning: '::c2 protected_alias' fails since method ::C.protected_alias is protected methods/class-level-alias.003: 8.90 mms, catch {c2 protected_alias} methods/class-level-alias.004: 1.40 mms, ::nsf::dispatch c2 protected_alias notice: Running test case: ./tests/methods.test scripted-class-object-level methods/scripted-class-object-level.001: 1.30 mms, C plain_object_method methods/scripted-class-object-level.002: 1.30 mms, C public_object_method Warning: '::C protected_object_method' fails since method ::C.protected_object_method is protected Warning: '::C protected_object_method' fails since method ::C.protected_object_method is protected Warning: '::C protected_object_method' fails since method ::C.protected_object_method is protected Warning: '::C protected_object_method' fails since method ::C.protected_object_method is protected Warning: '::C protected_object_method' fails since method ::C.protected_object_method is protected Warning: '::C protected_object_method' fails since method ::C.protected_object_method is protected Warning: '::C protected_object_method' fails since method ::C.protected_object_method is protected Warning: '::C protected_object_method' fails since method ::C.protected_object_method is protected Warning: '::C protected_object_method' fails since method ::C.protected_object_method is protected Warning: '::C protected_object_method' fails since method ::C.protected_object_method is protected Warning: '::C protected_object_method' fails since method ::C.protected_object_method is protected methods/scripted-class-object-level.003: 10.00 mms, catch {C protected_object_method} methods/scripted-class-object-level.004: 1.40 mms, ::nsf::dispatch C protected_object_method notice: Running test case: ./tests/methods.test class-object-level-forwards methods/class-object-level-forwards.001: 1.40 mms, C plain_object_forward methods/class-object-level-forwards.002: 1.50 mms, C public_object_forward Warning: '::C protected_object_forward' fails since method ::C.protected_object_forward is protected Warning: '::C protected_object_forward' fails since method ::C.protected_object_forward is protected Warning: '::C protected_object_forward' fails since method ::C.protected_object_forward is protected Warning: '::C protected_object_forward' fails since method ::C.protected_object_forward is protected Warning: '::C protected_object_forward' fails since method ::C.protected_object_forward is protected Warning: '::C protected_object_forward' fails since method ::C.protected_object_forward is protected Warning: '::C protected_object_forward' fails since method ::C.protected_object_forward is protected Warning: '::C protected_object_forward' fails since method ::C.protected_object_forward is protected Warning: '::C protected_object_forward' fails since method ::C.protected_object_forward is protected Warning: '::C protected_object_forward' fails since method ::C.protected_object_forward is protected Warning: '::C protected_object_forward' fails since method ::C.protected_object_forward is protected methods/class-object-level-forwards.003: 9.90 mms, catch {C protected_object_forward} methods/class-object-level-forwards.004: 1.60 mms, ::nsf::dispatch C protected_object_forward notice: Running test case: ./tests/methods.test class-object-level-setter methods/class-object-level-setter.001: C plain_object_setter 1 ok methods/class-object-level-setter.002: 1.80 mms, C public_object_setter set 2 Warning: '::C protected_object_setter' fails since method ::C.protected_object_setter is protected Warning: '::C protected_object_setter' fails since method ::C.protected_object_setter is protected Warning: '::C protected_object_setter' fails since method ::C.protected_object_setter is protected Warning: '::C protected_object_setter' fails since method ::C.protected_object_setter is protected Warning: '::C protected_object_setter' fails since method ::C.protected_object_setter is protected Warning: '::C protected_object_setter' fails since method ::C.protected_object_setter is protected Warning: '::C protected_object_setter' fails since method ::C.protected_object_setter is protected Warning: '::C protected_object_setter' fails since method ::C.protected_object_setter is protected Warning: '::C protected_object_setter' fails since method ::C.protected_object_setter is protected Warning: '::C protected_object_setter' fails since method ::C.protected_object_setter is protected Warning: '::C protected_object_setter' fails since method ::C.protected_object_setter is protected methods/class-object-level-setter.003: 10.40 mms, catch {C protected_object_setter set 3} methods/class-object-level-setter.004: 1.90 mms, ::nsf::dispatch C protected_object_setter set 4 notice: Running test case: ./tests/methods.test class-object-level-alias methods/class-object-level-alias.001: 1.30 mms, C plain_object_alias methods/class-object-level-alias.002: 1.20 mms, C public_object_alias Warning: '::C protected_object_alias' fails since method ::C.protected_object_alias is protected Warning: '::C protected_object_alias' fails since method ::C.protected_object_alias is protected Warning: '::C protected_object_alias' fails since method ::C.protected_object_alias is protected Warning: '::C protected_object_alias' fails since method ::C.protected_object_alias is protected Warning: '::C protected_object_alias' fails since method ::C.protected_object_alias is protected Warning: '::C protected_object_alias' fails since method ::C.protected_object_alias is protected Warning: '::C protected_object_alias' fails since method ::C.protected_object_alias is protected Warning: '::C protected_object_alias' fails since method ::C.protected_object_alias is protected Warning: '::C protected_object_alias' fails since method ::C.protected_object_alias is protected Warning: '::C protected_object_alias' fails since method ::C.protected_object_alias is protected Warning: '::C protected_object_alias' fails since method ::C.protected_object_alias is protected methods/class-object-level-alias.003: 9.90 mms, catch {C protected_object_alias} methods/class-object-level-alias.004: 1.40 mms, ::nsf::dispatch C protected_object_alias notice: Running test case: ./tests/methods.test scripted-object-level-methods methods/scripted-object-level-methods.001: 1.30 mms, c1 plain_object_method methods/scripted-object-level-methods.002: 1.30 mms, c1 public_object_method Warning: '::c1 protected_object_method' fails since method ::c1.protected_object_method is protected Warning: '::c1 protected_object_method' fails since method ::c1.protected_object_method is protected Warning: '::c1 protected_object_method' fails since method ::c1.protected_object_method is protected Warning: '::c1 protected_object_method' fails since method ::c1.protected_object_method is protected Warning: '::c1 protected_object_method' fails since method ::c1.protected_object_method is protected Warning: '::c1 protected_object_method' fails since method ::c1.protected_object_method is protected Warning: '::c1 protected_object_method' fails since method ::c1.protected_object_method is protected Warning: '::c1 protected_object_method' fails since method ::c1.protected_object_method is protected Warning: '::c1 protected_object_method' fails since method ::c1.protected_object_method is protected Warning: '::c1 protected_object_method' fails since method ::c1.protected_object_method is protected Warning: '::c1 protected_object_method' fails since method ::c1.protected_object_method is protected methods/scripted-object-level-methods.003: 9.00 mms, catch {c1 protected_object_method} methods/scripted-object-level-methods.004: 1.40 mms, ::nsf::dispatch c1 protected_object_method methods/scripted-object-level-methods.005: 1.20 mms, info commands ::c1::public_object_method notice: Running test case: ./tests/methods.test object-level-forwards methods/object-level-forwards.001: 1.50 mms, c1 plain_object_forward methods/object-level-forwards.002: 1.50 mms, c1 public_object_forward Warning: '::c1 protected_object_forward' fails since method ::c1.protected_object_forward is protected Warning: '::c1 protected_object_forward' fails since method ::c1.protected_object_forward is protected Warning: '::c1 protected_object_forward' fails since method ::c1.protected_object_forward is protected Warning: '::c1 protected_object_forward' fails since method ::c1.protected_object_forward is protected Warning: '::c1 protected_object_forward' fails since method ::c1.protected_object_forward is protected Warning: '::c1 protected_object_forward' fails since method ::c1.protected_object_forward is protected Warning: '::c1 protected_object_forward' fails since method ::c1.protected_object_forward is protected Warning: '::c1 protected_object_forward' fails since method ::c1.protected_object_forward is protected Warning: '::c1 protected_object_forward' fails since method ::c1.protected_object_forward is protected Warning: '::c1 protected_object_forward' fails since method ::c1.protected_object_forward is protected Warning: '::c1 protected_object_forward' fails since method ::c1.protected_object_forward is protected methods/object-level-forwards.003: 9.40 mms, catch {c1 protected_object_forward} methods/object-level-forwards.004: 1.60 mms, ::nsf::dispatch c1 protected_object_forward notice: Running test case: ./tests/methods.test object-level-setter methods/object-level-setter.001: c1 plain_object_setter 1 ok methods/object-level-setter.002: 1.80 mms, c1 public_object_setter set 2 Warning: '::c1 protected_object_setter' fails since method ::c1.protected_object_setter is protected Warning: '::c1 protected_object_setter' fails since method ::c1.protected_object_setter is protected Warning: '::c1 protected_object_setter' fails since method ::c1.protected_object_setter is protected Warning: '::c1 protected_object_setter' fails since method ::c1.protected_object_setter is protected Warning: '::c1 protected_object_setter' fails since method ::c1.protected_object_setter is protected Warning: '::c1 protected_object_setter' fails since method ::c1.protected_object_setter is protected Warning: '::c1 protected_object_setter' fails since method ::c1.protected_object_setter is protected Warning: '::c1 protected_object_setter' fails since method ::c1.protected_object_setter is protected Warning: '::c1 protected_object_setter' fails since method ::c1.protected_object_setter is protected Warning: '::c1 protected_object_setter' fails since method ::c1.protected_object_setter is protected Warning: '::c1 protected_object_setter' fails since method ::c1.protected_object_setter is protected methods/object-level-setter.003: 9.20 mms, catch {c1 protected_object_setter set 3} methods/object-level-setter.004: 1.80 mms, ::nsf::dispatch c1 protected_object_setter set 4 notice: Running test case: ./tests/methods.test object-level-alias methods/object-level-alias.001: 1.30 mms, c1 plain_object_alias methods/object-level-alias.002: 1.20 mms, c1 public_object_alias Warning: '::c1 protected_object_alias' fails since method ::c1.protected_object_alias is protected Warning: '::c1 protected_object_alias' fails since method ::c1.protected_object_alias is protected Warning: '::c1 protected_object_alias' fails since method ::c1.protected_object_alias is protected Warning: '::c1 protected_object_alias' fails since method ::c1.protected_object_alias is protected Warning: '::c1 protected_object_alias' fails since method ::c1.protected_object_alias is protected Warning: '::c1 protected_object_alias' fails since method ::c1.protected_object_alias is protected Warning: '::c1 protected_object_alias' fails since method ::c1.protected_object_alias is protected Warning: '::c1 protected_object_alias' fails since method ::c1.protected_object_alias is protected Warning: '::c1 protected_object_alias' fails since method ::c1.protected_object_alias is protected Warning: '::c1 protected_object_alias' fails since method ::c1.protected_object_alias is protected Warning: '::c1 protected_object_alias' fails since method ::c1.protected_object_alias is protected methods/object-level-alias.003: 9.10 mms, catch {c1 protected_object_alias} methods/object-level-alias.004: 1.30 mms, ::nsf::dispatch c1 protected_object_alias methods/object-level-alias.005: 3.00 mms, lsort [c1 info object methods] methods/object-level-alias.006: 3.20 mms, lsort [C info object methods] notice: Running test case: ./tests/methods.test colondispatch methods/colondispatch.001: o :bar ok methods/colondispatch.002: 1.50 mms, o eval :bar methods/colondispatch.003: o :foo ok methods/colondispatch.004: o eval :foo ok notice: Running test case: ./tests/methods.test colon-unknown methods/colon-unknown.001: 1.80 mms, ::nsf::__#0 expand-nonempty-list-1 methods/colon-unknown.002: 1.70 mms, ::nsf::__#0 expand-nonempty-list-2 methods/colon-unknown.003: 1.10 mms, ::nsf::__#0 expand-self-call-1 methods/colon-unknown.004: 1.10 mms, ::nsf::__#0 expand-self-call-2 methods/colon-unknown.005: ::nsf::__#0 expand-unknown-1 ok methods/colon-unknown.006: ::nsf::__#0 expand-unknown-2 ok methods/colon-unknown.007: ::nsf::__#0 expand-unknown-3 ok methods/colon-unknown.008: ::nsf::__#0 expand-unknown-4 ok methods/colon-unknown.009: ::nsf::__#0 expand-unknown-5 ok notice: Running test case: ./tests/methods.test mixinguards methods/mixinguards.001: 1.40 mms, C info mixins -guard methods/mixinguards.002: 1.70 mms, C mixins get methods/mixinguards.003: 2.30 mms, C mixins guard M {1 == 1} methods/mixinguards.004: 1.60 mms, C mixins get methods/mixinguards.005: 1.20 mms, C info mixins -guard methods/mixinguards.006: 1.10 mms, C info mixins methods/mixinguards.007: 2.20 mms, C mixins guard M "" methods/mixinguards.008: 1.50 mms, C mixins get methods/mixinguards.009: 1.10 mms, C info mixins -guard methods/mixinguards.010: 1.50 mms, C info object mixins -guard methods/mixinguards.011: 1.30 mms, C info object mixins methods/mixinguards.012: 1.80 mms, C object mixins get methods/mixinguards.013: 1.70 mms, C object mixins get methods/mixinguards.014: 1.50 mms, C info object mixins -guard methods/mixinguards.015: 1.30 mms, C info object mixins methods/mixinguards.016: 2.40 mms, C object mixins guard M {} methods/mixinguards.017: 1.40 mms, C info object mixins -guard notice: Running test case: ./tests/methods.test mixin-via-objectparam methods/mixin-via-objectparam.001: 1.80 mms, lsort [C info object mixins] methods/mixin-via-objectparam.002: 1.60 mms, lsort [C info mixins] methods/mixin-via-objectparam.003: 2.10 mms, lsort [C object mixins get] methods/mixin-via-objectparam.004: 2.00 mms, lsort [C mixins get] methods/mixin-via-objectparam.005: lsort [C object mixins] ok methods/mixin-via-objectparam.006: lsort [C mixins] ok methods/mixin-via-objectparam.007: lsort [C mixins x] ok methods/mixin-via-objectparam.008: 5.30 mms, catch {C mixin M5} errorMsg methods/mixin-via-objectparam.009: 1.60 mms, lsort [C info mixins] methods/mixin-via-objectparam.010: 23.80 mms, catch {C object mixin M5} errorMsg methods/mixin-via-objectparam.011: 1.80 mms, lsort [C info object mixins] methods/mixin-via-objectparam.012: 1.90 mms, C mixins set M5 methods/mixin-via-objectparam.013: 1.50 mms, lsort [C info mixins] methods/mixin-via-objectparam.014: 2.10 mms, C object mixins set M5 methods/mixin-via-objectparam.015: 1.60 mms, lsort [C info object mixins] methods/mixin-via-objectparam.016: 1.70 mms, C configure -mixin M1 methods/mixin-via-objectparam.017: 1.30 mms, C cget -mixin methods/mixin-via-objectparam.018: 19.20 mms, C configure -object-mixins M2 methods/mixin-via-objectparam.019: 1.30 mms, C cget -object-mixin notice: Running test case: ./tests/methods.test next-from-nonpos-args methods/next-from-nonpos-args.001: 2.90 mms, o bar -x 13 -y 14 methods/next-from-nonpos-args.002: 2.70 mms, o bar -y 14 -x 13 notice: Running test case: ./tests/methods.test property-method methods/property-method.001: 0.80 mms, set _ ::nsf::classes::C::a methods/property-method.002: 0.80 mms, set _ ::C::A methods/property-method.003: 1.70 mms, c1 a get methods/property-method.004: 1.10 mms, c1 cget -b methods/property-method.005: 1.00 mms, c1 cget -c Warning: '::c1 d' fails since method ::C.d is protected methods/property-method.006: c1 d ok methods/property-method.007: 1.70 mms, C A set 2 methods/property-method.008: 1.50 mms, C A get methods/property-method.009: C B ok methods/property-method.010: 1.50 mms, C C get Warning: '::C D' fails since method ::C.D is protected methods/property-method.011: C D ok methods/property-method.012: 0.80 mms, set _ ::o::a methods/property-method.013: 1.60 mms, o a set 2 methods/property-method.014: o b ok methods/property-method.015: 1.50 mms, o c get Warning: '::o d' fails since method ::o.d is protected methods/property-method.016: o d ok notice: Running test case: ./tests/methods.test subcmd methods/subcmd.001: 1.80 mms, Foo INFO filter guard 1 2 methods/subcmd.002: 2.20 mms, Foo INFO filter methods a* methods/subcmd.003: 1.80 mms, f1 Info filter guard x methods/subcmd.004: 2.30 mms, f1 Info filter methods methods/subcmd.005: 1.70 mms, f1 Info args methods/subcmd.006: 1.70 mms, f1 Info foo methods/subcmd.007: 1.70 mms, f1 list length methods/subcmd.008: 1.60 mms, f1 list reverse notice: Running test case: ./tests/methods.test class-object-property methods/class-object-property.001: 1.70 mms, C x set 1 methods/class-object-property.002: 1.60 mms, C x get methods/class-object-property.003: 1.50 mms, lsort [C info methods] methods/class-object-property.004: 1.90 mms, lsort [C info object methods] methods/class-object-property.005: c1 a set b ok methods/class-object-property.006: 1.10 mms, nsf::object::exists c1 methods/class-object-property.007: 1.00 mms, nsf::object::exists C methods/class-object-property.008: 0.80 mms, nsf::object::exists C methods/class-object-property.009: 0.80 mms, nsf::object::exists c1 methods/class-object-property.010: 1.60 mms, C x get methods/class-object-property.011: 1.60 mms, lsort [C info methods] methods/class-object-property.012: 1.80 mms, lsort [C info object methods] methods/class-object-property.013: c1 a set b ok notice: Running test case: ./tests/methods.test methoddelete methods/methoddelete.001: ::nsf::method::delete C x ok methods/methoddelete.002: ::nsf::method::delete C -per-object x ok methods/methoddelete.003: ::nsf::method::delete C foo ok methods/methoddelete.004: ::nsf::method::delete C foo ok methods/methoddelete.005: ::nsf::method::delete C bar ok methods/methoddelete.006: ::nsf::method::delete C -per-object bar ok methods/methoddelete.007: ::nsf::method::delete C -per-object bar ok notice: Running test case: ./tests/methods.test errormessage methods/errormessage.001: C public method foo {x} {return $x} ok methods/errormessage.002: C public Object method bar {x} {return $x} ok methods/errormessage.003: C protected Object method bar {x} {return $x} ok methods/errormessage.004: C Object method bar {x} {return $x} ok notice: Running test case: ./tests/methods.test dispatch-without-object methods/dispatch-without-object.001: ::o::a ok methods/dispatch-without-object.002: ::o::b ok methods/dispatch-without-object.003: ::o::foo ok methods/dispatch-without-object.004: ::o::x ok methods/dispatch-without-object.005: ::o x ok methods/dispatch-without-object.006: ::o::x ok methods/dispatch-without-object.007: nx::self ok notice: Running test case: ./tests/methods.test scopes methods/scopes.001: o1 foo ok methods/scopes.002: o1 info foo ok methods/scopes.003: o1 info bar foo ok methods/scopes.004: c1 foo ok methods/scopes.005: c1 info foo ok methods/scopes.006: c1 info bar foo ok notice: Running test case: ./tests/methods.test namespaced-scopes methods/namespaced-scopes.001: ns::o1 foo ok methods/namespaced-scopes.002: ns::o1 info foo ok methods/namespaced-scopes.003: ns::o1 info bar foo ok methods/namespaced-scopes.004: ns::c1 foo ok methods/namespaced-scopes.005: ns::c1 info foo ok methods/namespaced-scopes.006: ns::c1 info bar foo ok notice: Running test case: ./tests/methods.test nested-scopes methods/nested-scopes.001: o::o1 foo ok methods/nested-scopes.002: o::o1 info foo ok methods/nested-scopes.003: o::o1 info bar foo ok methods/nested-scopes.004: c1 foo ok methods/nested-scopes.005: c1 info foo ok methods/nested-scopes.006: c1 info bar foo ok notice: Running test case: ./tests/methods.test delete-per-object methods/delete-per-object.001: o1 info object methods -path ok methods/delete-per-object.002: o1 info children ok methods/delete-per-object.003: o1 delete object method bar ok methods/delete-per-object.004: o1 delete object method a1 ok methods/delete-per-object.005: o1::per-object-slot info children ok methods/delete-per-object.006: o1 delete object property a1 ok methods/delete-per-object.007: o1::per-object-slot info children ok methods/delete-per-object.008: o1 delete object property a1 ok methods/delete-per-object.009: o1 info object methods -path ok methods/delete-per-object.010: o1 delete object property a2 ok methods/delete-per-object.011: o1 info object methods -path ok methods/delete-per-object.012: o1 delete object method foo ok methods/delete-per-object.013: o1 info object methods -path ok methods/delete-per-object.014: o1 delete object method "info foo" ok methods/delete-per-object.015: o1 info object methods -path ok methods/delete-per-object.016: o1 delete object method "info bar foo" ok methods/delete-per-object.017: o1 info object methods -path ok notice: Running test case: ./tests/methods.test delete-per-object-on-class methods/delete-per-object-on-class.001: C info object methods -path ok methods/delete-per-object-on-class.002: C info children ok methods/delete-per-object-on-class.003: C delete object method bar ok methods/delete-per-object-on-class.004: C delete object property a1 ok methods/delete-per-object-on-class.005: C info object methods -path ok methods/delete-per-object-on-class.006: C delete object property a1 ok methods/delete-per-object-on-class.007: C delete object method foo ok methods/delete-per-object-on-class.008: C info object methods -path ok methods/delete-per-object-on-class.009: C delete object method "info foo" ok methods/delete-per-object-on-class.010: C info object methods -path ok methods/delete-per-object-on-class.011: C delete object method "info bar foo" ok methods/delete-per-object-on-class.012: C info object methods -path ok methods/delete-per-object-on-class.013: C info methods ok methods/delete-per-object-on-class.014: C info slots ok notice: Running test case: ./tests/methods.test delete-class-level-method methods/delete-class-level-method.001: C info methods -path ok methods/delete-class-level-method.002: C info children ok methods/delete-class-level-method.003: C delete method bar ok methods/delete-class-level-method.004: C delete property a1 ok methods/delete-class-level-method.005: C info methods -path ok methods/delete-class-level-method.006: C delete property a1 ok methods/delete-class-level-method.007: C delete method foo ok methods/delete-class-level-method.008: C info methods -path ok methods/delete-class-level-method.009: C delete method "info foo" ok methods/delete-class-level-method.010: C info methods -path ok methods/delete-class-level-method.011: C delete method "info bar foo" ok methods/delete-class-level-method.012: C info methods -path ok notice: Running test case: ./tests/methods.test default-unknown-handler methods/default-unknown-handler.001: o sakania ok methods/default-unknown-handler.002: o yore dub ok methods/default-unknown-handler.003: o "yore dub" ok notice: Running test case: ./tests/methods.test test-simple-unknown methods/test-simple-unknown.001: set _ hello ok methods/test-simple-unknown.002: set _ {hello world} ok methods/test-simple-unknown.003: set _ {{hello world}} ok notice: Running test case: ./tests/methods.test speed-dispatch methods/speed-dispatch.001: 0.85 mms, o foo methods/speed-dispatch.002: 1.05 mms, self methods/speed-dispatch.003: 0.93 mms, : methods/speed-dispatch.004: 1.45 mms, [self] methods/speed-dispatch.005: 1.35 mms, [:] methods/speed-dispatch.006: 1.07 mms, :foo methods/speed-dispatch.007: 1.09 mms, : foo methods/speed-dispatch.008: 1.27 mms, self foo methods/speed-dispatch.009: 1.56 mms, : -system info notice: Running test case: ./tests/methods.test fq-obj-dispatch methods/fq-obj-dispatch.001: ::D eval {set :defaultcalled} ok methods/fq-obj-dispatch.002: ::d ok methods/fq-obj-dispatch.003: C eval {set :unknown} ok Notice: Don't invoke object ::d this way. Register object via alias ... methods/fq-obj-dispatch.004: C ::d ok methods/fq-obj-dispatch.005: C eval {set :unknown} ok methods/fq-obj-dispatch.006: ::d ok methods/fq-obj-dispatch.007: C d ok methods/fq-obj-dispatch.008: C eval {set :unknown} ok methods/fq-obj-dispatch.009: ::d ok methods/fq-obj-dispatch.010: ::nsf::object::exists ::d::c ok methods/fq-obj-dispatch.011: C ::d::c ok methods/fq-obj-dispatch.012: C eval {set :unknown} ok methods/fq-obj-dispatch.013: ::nsf::object::exists ::d::c ok methods/fq-obj-dispatch.014: ::nsf::object::exists ::d::dd ok methods/fq-obj-dispatch.015: ::nsf::object::exists ::d::dd ok methods/fq-obj-dispatch.016: ::D eval {set :defaultcalled} ok methods/fq-obj-dispatch.017: ::d::dd ok methods/fq-obj-dispatch.018: C eval {set :unknown} ok Notice: Don't invoke object ::d::dd this way. Register object via alias ... methods/fq-obj-dispatch.019: C ::d::dd ok methods/fq-obj-dispatch.020: C eval {set :unknown} ok methods/fq-obj-dispatch.021: C d::dd ok methods/fq-obj-dispatch.022: C eval {set :unknown} ok methods/fq-obj-dispatch.023: ::D eval {set :defaultcalled} ok methods/fq-obj-dispatch.024: ::nsf::object::exists ::ns1::c ok methods/fq-obj-dispatch.025: C ::ns1::c ok methods/fq-obj-dispatch.026: C eval {set :unknown} ok methods/fq-obj-dispatch.027: ::nsf::object::exists ::ns1::c ok methods/fq-obj-dispatch.028: ::nsf::object::exists ::ns1::d ok methods/fq-obj-dispatch.029: ::nsf::object::exists ::ns1::d ok methods/fq-obj-dispatch.030: ::D eval {set :defaultcalled} ok methods/fq-obj-dispatch.031: ::ns1::d ok methods/fq-obj-dispatch.032: C eval {set :unknown} ok Notice: Don't invoke object ::ns1::d this way. Register object via alias ... methods/fq-obj-dispatch.033: C ::ns1::d ok methods/fq-obj-dispatch.034: C eval {set :unknown} ok methods/fq-obj-dispatch.035: C ns1::d ok methods/fq-obj-dispatch.036: C eval {set :unknown} ok methods/fq-obj-dispatch.037: ::D eval {set :defaultcalled} ok methods/fq-obj-dispatch.038: ::nsf::object::exists ::X ok methods/fq-obj-dispatch.039: ::nsf::object::exists ::X ok methods/fq-obj-dispatch.040: ::X exists p1 ok methods/fq-obj-dispatch.041: ::X set unknown ok methods/fq-obj-dispatch.042: xotcl::Object ::p ok methods/fq-obj-dispatch.043: ::nsf::object::exists ::p::child ok methods/fq-obj-dispatch.044: ::X ::p::child -p1 2 ok methods/fq-obj-dispatch.045: ::nsf::object::exists ::p::child ok methods/fq-obj-dispatch.046: ::X set p1 ok methods/fq-obj-dispatch.047: ::X set unknown ok methods/fq-obj-dispatch.048: ::X set recreate ok Notice: Don't invoke object ::p::child this way. Register object via alias ... methods/fq-obj-dispatch.049: ::X ::p::child -p1 1 ok methods/fq-obj-dispatch.050: ::X set p1 ok methods/fq-obj-dispatch.051: ::X set unknown ok methods/fq-obj-dispatch.052: ::X set recreate ok notice: Running test case: ./tests/methods.test object-copy methods/object-copy.001: lsort [::o info object methods -path] ok methods/object-copy.002: o a b ok methods/object-copy.003: o a c ok methods/object-copy.004: o set x 1 ok methods/object-copy.005: o eval {info exists :x} ok methods/object-copy.006: o copy p ok methods/object-copy.007: lsort [::p info object methods -path] ok methods/object-copy.008: p a b ok methods/object-copy.009: p a c ok methods/object-copy.010: p eval {info exists :x} ok methods/object-copy.011: p set x ok notice: Running test case: ./tests/methods.test class-copy methods/class-copy.001: lsort [::C info methods -path] ok methods/class-copy.002: ::c1 a b ok methods/class-copy.003: ::c1 a c ok methods/class-copy.004: ::c1 set x 1 ok methods/class-copy.005: ::C copy ::D ok methods/class-copy.006: lsort [::D info methods -path] ok methods/class-copy.007: ::d1 a b ok methods/class-copy.008: ::d1 a c ok methods/class-copy.009: ::d1 set x 2 ok notice: Running test case: ./tests/methods.test object+class-copy methods/object+class-copy.001: lsort [::C info methods -path] ok methods/object+class-copy.002: lsort [::C info object methods -path] ok methods/object+class-copy.003: ::c1 a b ok methods/object+class-copy.004: ::c1 a c ok methods/object+class-copy.005: ::c1 set x 1 ok methods/object+class-copy.006: ::C oa b ok methods/object+class-copy.007: ::C oa c ok methods/object+class-copy.008: ::C set y 100 ok methods/object+class-copy.009: ::C copy ::D ok methods/object+class-copy.010: lsort [::D info methods -path] ok methods/object+class-copy.011: ::D oa b ok methods/object+class-copy.012: ::D oa c ok methods/object+class-copy.013: ::D set y ok methods/object+class-copy.014: ::d1 a b ok methods/object+class-copy.015: ::d1 a c ok methods/object+class-copy.016: ::d1 set x 2 ok notice: Running test case: ./tests/methods.test object+class+property-copy methods/object+class+property-copy.001: 2.90 mms, lsort [::C info methods -path] methods/object+class+property-copy.002: 2.90 mms, lsort [::C info object methods -path] methods/object+class+property-copy.003: 1.20 mms, ::c1 a b methods/object+class+property-copy.004: 1.30 mms, ::c1 a c methods/object+class+property-copy.005: 1.20 mms, ::c1 set x 1 methods/object+class+property-copy.006: 1.20 mms, ::C oa b methods/object+class+property-copy.007: 1.20 mms, ::C oa c methods/object+class+property-copy.008: 1.20 mms, ::C set y 100 methods/object+class+property-copy.009: 582.40 mms, ::C copy ::D methods/object+class+property-copy.010: 1250.10 mms, ::C COPY ::E methods/object+class+property-copy.011: 2.70 mms, lsort [::D info methods -path] methods/object+class+property-copy.012: 2.90 mms, lsort [::D info object methods -path] methods/object+class+property-copy.013: 1.10 mms, ::D oa b methods/object+class+property-copy.014: 1.10 mms, ::D oa c methods/object+class+property-copy.015: 1.10 mms, ::D set y methods/object+class+property-copy.016: 2.30 mms, ::D create d1 methods/object+class+property-copy.017: 1.20 mms, ::d1 a b methods/object+class+property-copy.018: 1.10 mms, ::d1 a c methods/object+class+property-copy.019: 1.00 mms, ::d1 set x 2 methods/object+class+property-copy.020: 1.20 mms, ::E oa b methods/object+class+property-copy.021: 1.10 mms, ::E oa c methods/object+class+property-copy.022: 1.10 mms, ::E set y methods/object+class+property-copy.023: 2.20 mms, ::E create e1 methods/object+class+property-copy.024: 1.10 mms, ::e1 a b methods/object+class+property-copy.025: 1.10 mms, ::e1 a c methods/object+class+property-copy.026: 1.00 mms, ::e1 set x 2 notice: Running test case: ./tests/methods.test nx-copy-COPY-namespace methods/nx-copy-COPY-namespace.001: 1.20 mms, o1::o foo methods/nx-copy-COPY-namespace.002: 45.00 mms, o1::o copy o2::o methods/nx-copy-COPY-namespace.003: 126.00 mms, o1::o COPY o2::O methods/nx-copy-COPY-namespace.004: 1.10 mms, o2::o foo methods/nx-copy-COPY-namespace.005: 1.10 mms, o2::O foo notice: Running test case: ./tests/methods.test xotcl-COPY methods/xotcl-COPY.001: 1.20 mms, C set x methods/xotcl-COPY.002: 1.20 mms, D set x methods/xotcl-COPY.003: 1.10 mms, D foo methods/xotcl-COPY.004: 2.80 mms, D create d1 methods/xotcl-COPY.005: 1.00 mms, d1 bar methods/xotcl-COPY.006: 1.10 mms, E set x methods/xotcl-COPY.007: 1.00 mms, E foo methods/xotcl-COPY.008: 2.60 mms, E create e1 methods/xotcl-COPY.009: 1.10 mms, e1 bar notice: Running test case: ./tests/methods.test xotcl-assertion-swallows-result methods/xotcl-assertion-swallows-result.001: 9.10 mms, catch {e1 foo} errMsg methods/xotcl-assertion-swallows-result.002: 1.00 mms, string match {can't read "xxx":*} $errMsg methods/xotcl-assertion-swallows-result.003: 9.00 mms, catch {e1 bar} errMsg methods/xotcl-assertion-swallows-result.004: 0.90 mms, string match {can't read "xxx":*} $errMsg methods/xotcl-assertion-swallows-result.005: 9.10 mms, catch {e1 foo} errMsg methods/xotcl-assertion-swallows-result.006: 0.90 mms, string match {can't read "xxx":*} $errMsg methods/xotcl-assertion-swallows-result.007: 9.20 mms, catch {e1 bar} errMsg methods/xotcl-assertion-swallows-result.008: 0.90 mms, string match {can't read "xxx":*} $errMsg notice: Running test case: ./tests/methods.test uplevel+interceptor-transparency methods/uplevel+interceptor-transparency.001: 2.60 mms, c1 foo methods/uplevel+interceptor-transparency.002: 5.00 mms, c1 bar methods/uplevel+interceptor-transparency.003: 3.20 mms, c1 foo methods/uplevel+interceptor-transparency.004: 5.70 mms, c1 bar notice: Running test case: ./tests/methods.test uplevel+tcl-transparency methods/uplevel+tcl-transparency.001: 1.50 mms, foo methods/uplevel+tcl-transparency.002: 2.70 mms, bar0 methods/uplevel+tcl-transparency.003: 5.50 mms, bar methods/uplevel+tcl-transparency.004: bar0 ok methods/uplevel+tcl-transparency.005: 6.10 mms, bar notice: Running test case: ./tests/methods.test debug+deprecated methods/debug+deprecated.001: 1.00 mms, nsf::method::property C foo debug methods/debug+deprecated.002: 0.90 mms, nsf::method::property C bar deprecated methods/debug+deprecated.003: 1.00 mms, nsf::method::property C -per-object ofoo debug methods/debug+deprecated.004: 1.00 mms, nsf::method::property C -per-object obar deprecated methods/debug+deprecated.005: 1.60 mms, C info method debug foo methods/debug+deprecated.006: 1.70 mms, C info method deprecated bar methods/debug+deprecated.007: 1.90 mms, C info object method debug ofoo methods/debug+deprecated.008: 1.90 mms, C info object method deprecated obar methods/debug+deprecated.009: 1.00 mms, nsf::method::property C foo debug methods/debug+deprecated.010: 1.00 mms, nsf::method::property C bar deprecated methods/debug+deprecated.011: 1.10 mms, nsf::method::property C -per-object ofoo debug methods/debug+deprecated.012: 1.00 mms, nsf::method::property C -per-object obar deprecated methods/debug+deprecated.013: 1.60 mms, C info method debug foo methods/debug+deprecated.014: 1.60 mms, C info method deprecated bar methods/debug+deprecated.015: 1.90 mms, C info object method debug ofoo methods/debug+deprecated.016: 1.90 mms, C info object method deprecated obar notice: Running test case: ./tests/methods.test eval-next methods/eval-next.001: 1.30 mms, nx::Object eval {::nsf::next} methods/eval-next.002: 1.30 mms, nx::Object eval {::nsf::current nextmethod} methods/eval-next.003: 0.80 mms, set _ {eval foo ::o} notice: Running test case: ./tests/methods.test callinglevel-toplevel-setup1 methods/callinglevel-toplevel-setup1.001: expr {[array size a1] > 1} ok methods/callinglevel-toplevel-setup1.002: expr {[dict size [foo]] > 1} ok notice: Running test case: ./tests/methods.test callinglevel-toplevel-setup2 methods/callinglevel-toplevel-setup2.001: expr {[array size a1] > 1} ok methods/callinglevel-toplevel-setup2.002: expr {[dict size [foo]] > 1} ok notice: Running test case: ./tests/methods.test callinglevel-toplevel-setup3 methods/callinglevel-toplevel-setup3.001: expr {[array size a1] > 1} ok methods/callinglevel-toplevel-setup3.002: expr {[dict size [foo]] > 1} ok notice: Running test case: ./tests/methods.test callinglevels methods/callinglevels.001: uplevel #0 {objekt foo} ok methods/callinglevels.002: uplevel #0 { namespace eval ::ns1 { namespace eval ns2 { objekt foo } } } ok methods/callinglevels.003: uplevel #0 {apply {{} {objekt foo}}} ok methods/callinglevels.004: uplevel #0 { apply {{} { namespace eval ::ns1 { namespace eval ns2 { objekt foo } } }}} ok methods/callinglevels.005: uplevel #0 {objekt foo} ok methods/callinglevels.006: uplevel #0 { namespace eval ::ns1 { namespace eval ns2 { objekt foo } } } ok methods/callinglevels.007: uplevel #0 {apply {{} {objekt foo}}} ok methods/callinglevels.008: uplevel #0 { apply {{} { namespace eval ::ns1 { namespace eval ns2 { objekt foo } } }}} ok methods/callinglevels.009: uplevel #0 {objekt foo} ok methods/callinglevels.010: uplevel #0 { namespace eval ::ns1 { namespace eval ns2 { objekt foo } } } ok methods/callinglevels.011: uplevel #0 {apply {{} {objekt foo}}} ok methods/callinglevels.012: uplevel #0 { apply {{} { namespace eval ::ns1 { namespace eval ns2 { objekt foo } } }}} ok notice: Running test case: ./tests/methods.test uplevel methods/uplevel.001: uplevel #0 {objekt foo} ok methods/uplevel.002: uplevel #0 { namespace eval ::ns1 { namespace eval ns2 { objekt foo } } } ok methods/uplevel.003: uplevel #0 {apply {{} {objekt foo}}} ok methods/uplevel.004: uplevel #0 { apply {{} { namespace eval ::ns1 { namespace eval ns2 { objekt foo } } }}} ok methods/uplevel.005: uplevel #0 {objekt foo} ok methods/uplevel.006: uplevel #0 { namespace eval ::ns1 { namespace eval ns2 { objekt foo } } } ok methods/uplevel.007: uplevel #0 {apply {{} {objekt foo}}} ok methods/uplevel.008: uplevel #0 { apply {{} { namespace eval ::ns1 { namespace eval ns2 { objekt foo } } }}} ok methods/uplevel.009: uplevel #0 {objekt foo} ok methods/uplevel.010: uplevel #0 { namespace eval ::ns1 { namespace eval ns2 { objekt foo } } } ok methods/uplevel.011: uplevel #0 {apply {{} {objekt foo}}} ok methods/uplevel.012: uplevel #0 { apply {{} { namespace eval ::ns1 { namespace eval ns2 { objekt foo } } }}} ok methods/uplevel.013: uplevel #0 { lappend _ [info exists FOO]; objekt foo; lappend _ [info exists FOO][unset FOO]} ok methods/uplevel.014: uplevel #0 { namespace eval ::ns1 { namespace eval ns2 { lappend _ [info exists FOO]; objekt foo; lappend _ [info exists FOO][unset FOO]; } } } ok methods/uplevel.015: uplevel #0 { namespace eval ::ns1 { apply {{} { lappend _ [info exists FOO]; namespace eval ns2 { objekt foo; } lappend _ [info exists FOO][unset FOO]; }} } } ok methods/uplevel.016: uplevel #0 { lappend _ [info exists FOO]; objekt foo; lappend _ [info exists FOO][unset FOO]} ok methods/uplevel.017: uplevel #0 { namespace eval ::ns1 { namespace eval ns2 { lappend _ [info exists FOO]; objekt foo; lappend _ [info exists FOO][unset FOO]; } } } ok methods/uplevel.018: uplevel #0 { namespace eval ::ns1 { apply {{} { lappend _ [info exists FOO]; namespace eval ns2 { objekt foo; } lappend _ [info exists FOO][unset FOO]; }} } } ok notice: Running test case: ./tests/methods.test uplevel-method-signature methods/uplevel-method-signature.001: uplevel #0 { apply {{} { namespace eval ::ns1 { namespace eval ns2 { objekt foo } } }}} ok methods/uplevel-method-signature.002: uplevel #0 {objekt foo} ok methods/uplevel-method-signature.003 hint: we could compare with errorCode: TCL LOOKUP COMMAND 1 methods/uplevel-method-signature.003: uplevel #0 {objekt foo} ok methods/uplevel-method-signature.004: uplevel #0 {objekt foo} ok methods/uplevel-method-signature.005 hint: we could compare with errorCode: TCL LOOKUP COMMAND #1 methods/uplevel-method-signature.005: uplevel #0 {objekt foo} ok methods/uplevel-method-signature.006: uplevel #0 {objekt foo} ok methods/uplevel-method-signature.007: uplevel #0 {objekt foo} ok methods/uplevel-method-signature.008: uplevel #0 {objekt foo} ok methods/uplevel-method-signature.009: uplevel #0 {objekt foo} ok methods/uplevel-method-signature.010 hint: we could compare with errorCode: TCL LOOKUP COMMAND a methods/uplevel-method-signature.010: uplevel #0 {objekt foo} ok methods/uplevel-method-signature.011: uplevel #0 {objekt foo} ok methods/uplevel-method-signature.012: uplevel #0 {objekt foo} ok methods/uplevel-method-signature.013 hint: we could compare with errorCode: TCL LOOKUP COMMAND {a b} methods/uplevel-method-signature.013: uplevel #0 {objekt foo} ok methods/uplevel-method-signature.014 hint: we could compare with errorCode: TCL LOOKUP COMMAND {a b} methods/uplevel-method-signature.014: uplevel #0 {objekt foo} ok methods/uplevel-method-signature.015 hint: we could compare with errorCode: TCL LOOKUP COMMAND a methods/uplevel-method-signature.015: uplevel #0 {objekt foo} ok methods/uplevel-method-signature.016 hint: we could compare with errorCode: TCL LOOKUP COMMAND a methods/uplevel-method-signature.016: uplevel #0 {objekt foo} ok methods/uplevel-method-signature.017 hint: we could compare with errorCode: TCL LOOKUP LEVEL #1000 methods/uplevel-method-signature.017: uplevel #0 {objekt foo} ok methods/uplevel-method-signature.018 hint: we could compare with errorCode: TCL LOOKUP LEVEL 1000 methods/uplevel-method-signature.018: uplevel #0 {objekt foo} ok notice: Running test case: ./tests/methods.test uplevel-default-level methods/uplevel-default-level.001 hint: we could compare with errorCode: TCL LOOKUP COMMAND 123456 methods/uplevel-default-level.001: uplevel #0 { objekt foo } ok methods/uplevel-default-level.002: uplevel #0 { proc 123456 {args} {return $args} set r [objekt foo] rename 123456 "" set r } ok methods/uplevel-default-level.003 hint: we could compare with errorCode: TCL LOOKUP COMMAND #123456 methods/uplevel-default-level.003: uplevel #0 { objekt foo } ok methods/uplevel-default-level.004: uplevel #0 { proc #123456 {args} {return $args} set r [objekt foo] rename #123456 "" set r } ok notice: Running test case: ./tests/methods.test upvar-method-signature methods/upvar-method-signature.001: uplevel #0 {objekt foo} ok methods/upvar-method-signature.002: uplevel #0 {objekt foo} ok methods/upvar-method-signature.003: uplevel #0 {objekt foo} ok methods/upvar-method-signature.004: uplevel #0 {objekt foo; set x} ok methods/upvar-method-signature.005 hint: we could compare with errorCode: TCL VALUE STACKLEVEL methods/upvar-method-signature.005: uplevel #0 {objekt foo} ok methods/upvar-method-signature.006: uplevel #0 {apply {{} {objekt foo; info exists "#5"}}} ok notice: Running test case: ./tests/methods.test uplevel-backwards-compatibility methods/uplevel-backwards-compatibility.001: o1 eval {:uplevel 1000} ok methods/uplevel-backwards-compatibility.002 hint: we could compare with errorCode: TCL LOOKUP LEVEL 1000 methods/uplevel-backwards-compatibility.002: o1 eval {:uplevel 1000 a} ok methods/uplevel-backwards-compatibility.003 hint: we could compare with errorCode: TCL LOOKUP LEVEL 1000 methods/uplevel-backwards-compatibility.003: o1 eval {:uplevel 1000 a b} ok methods/uplevel-backwards-compatibility.004: o1 eval {:uplevel {1000 a}} ok methods/uplevel-backwards-compatibility.005: o1 eval {:uplevel {1000 a b}} ok methods/uplevel-backwards-compatibility.006: o1 eval {:uplevel {1000 {a b}}} ok methods/uplevel-backwards-compatibility.007: o1 eval {:uplevel ::1000} ok methods/uplevel-backwards-compatibility.008: o1 eval {:uplevel ::1000 a} ok methods/uplevel-backwards-compatibility.009: o1 eval {:uplevel ::1000 a b} ok methods/uplevel-backwards-compatibility.010: o1 eval {:uplevel {::1000 a}} ok methods/uplevel-backwards-compatibility.011: o1 eval {:uplevel {::1000 a b}} ok methods/uplevel-backwards-compatibility.012: o1 eval {:uplevel {::1000 {a b}}} ok notice: Running test case: ./tests/methods.test alias-to-object methods/alias-to-object.001: lsort [C ::nsf::methods::class::info::methods -callprotection all] ok methods/alias-to-object.002: lsort [C ::nsf::methods::class::info::methods -callprotection all -path] ok methods/alias-to-object.003: D op ok methods/alias-to-object.004: D om ok methods/alias-to-object.005: D oe f ok methods/alias-to-object.006: D oa bar ok methods/alias-to-object.007: D d1 foo ok methods/alias-to-object.008: lsort [D ::nsf::methods::class::info::methods -callprotection all] ok methods/alias-to-object.009: lsort [D ::nsf::methods::class::info::methods -callprotection all -path] ok methods/alias-to-object.010: lsort [D ::nsf::methods::object::info::methods -callprotection all] ok methods/alias-to-object.011: lsort [D ::nsf::methods::object::info::methods -callprotection all -path] ok Summary: Test-set methods tests 527 success 527 failure 0 ms 54 TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./tests`/method-parameter.test -libdir `echo ./unix` -testlog ./__test.log notice: Running test case: ./tests/method-parameter.test method-params-0 method-parameter/method-params-0.001: p0 ok method-parameter/method-params-0.002 hint: we could compare with errorCode: TCL WRONGARGS method-parameter/method-params-0.002: p0 -x ok method-parameter/method-params-0.003: p1 ok method-parameter/method-params-0.004: p1 -x ok method-parameter/method-params-0.005: p1 -x 1 ok method-parameter/method-params-0.006: p1 -x 1 2 ok method-parameter/method-params-0.007: p1 -x 1 -y ok method-parameter/method-params-0.008: p1 a ok method-parameter/method-params-0.009: p1 a -x ok method-parameter/method-params-0.010: p1 -- ok method-parameter/method-params-0.011: p1 -y ok method-parameter/method-params-0.012: p1 -y -- ok method-parameter/method-params-0.013: nsf::proc p2 {1 -2 -3} {return [list ${1} [info exists 2] [info exists 3]]} ok method-parameter/method-params-0.014: p2 -4 -2 -3 -3 -2 ok method-parameter/method-params-0.015: p2 -4 -3 + -2 -1 ok method-parameter/method-params-0.016: nsf::proc p3 {1 -2 -3 4} {return [list ${1} [info exists 2] [info exists 3] ${4}]} ok method-parameter/method-params-0.017: p3 -4 -3 -2 -1 ok notice: Running test case: ./tests/method-parameter.test nodashalnum method-parameter/nodashalnum.001: p2a -x -y ok method-parameter/nodashalnum.002: p2b -x -y ok method-parameter/nodashalnum.003: p2a -x 1 -y ok method-parameter/nodashalnum.004: p2a -x 1 -100 ok method-parameter/nodashalnum.005: p2b -x 1 -y ok method-parameter/nodashalnum.006: p2b -x 1 -100 ok method-parameter/nodashalnum.007: p3a 100 -x 1 -y 1 200 ok method-parameter/nodashalnum.008: p3a 100 -xx 1 -y 1 200 ok notice: Running test case: ./tests/method-parameter.test unknown-handler method-parameter/unknown-handler.001: c1 p1 -x 1 -y ok method-parameter/unknown-handler.002: c1 p1 -x 1 -y ok notice: Running test case: ./tests/method-parameter.test flag-in-ensemble method-parameter/flag-in-ensemble.001: C info superclasses ok method-parameter/flag-in-ensemble.002: C info -a superclass ok method-parameter/flag-in-ensemble.003: C info -- superclass ok method-parameter/flag-in-ensemble.004: C info -- -a superclass ok method-parameter/flag-in-ensemble.005: C info -a -- superclass ok notice: Running test case: ./tests/method-parameter.test info-subclass-error-messages method-parameter/info-subclass-error-messages.001: C info subclasses ok method-parameter/info-subclass-error-messages.002: C info subclasses -- ok method-parameter/info-subclass-error-messages.003: C info subclasses a ok method-parameter/info-subclass-error-messages.004: C info subclasses -a ok method-parameter/info-subclass-error-messages.005: C info subclasses -a -- ok method-parameter/info-subclass-error-messages.006: C info subclasses -- -a ok method-parameter/info-subclass-error-messages.007: C info subclasses -1 ok method-parameter/info-subclass-error-messages.008: C info subclasses -- -1 ok method-parameter/info-subclass-error-messages.009: C info subclasses -1 -- ok method-parameter/info-subclass-error-messages.010: C info subclasses a b ok method-parameter/info-subclass-error-messages.011: C info subclasses -- a b ok method-parameter/info-subclass-error-messages.012: C info subclasses a -- b ok method-parameter/info-subclass-error-messages.013: C info subclasses a b -- ok method-parameter/info-subclass-error-messages.014: C info subclasses -a b ok method-parameter/info-subclass-error-messages.015: C info subclasses -- -a b ok method-parameter/info-subclass-error-messages.016: C info subclasses -a -- b ok method-parameter/info-subclass-error-messages.017: C info subclasses -a b -- ok method-parameter/info-subclass-error-messages.018: C info subclasses a -b ok method-parameter/info-subclass-error-messages.019: C info subclasses -- a -b ok method-parameter/info-subclass-error-messages.020: C info subclasses a -- -b ok method-parameter/info-subclass-error-messages.021: C info subclasses a -b -- ok method-parameter/info-subclass-error-messages.022: C info subclasses -a -b ok method-parameter/info-subclass-error-messages.023: C info subclasses -- -a -b ok method-parameter/info-subclass-error-messages.024: C info subclasses -a -- -b ok method-parameter/info-subclass-error-messages.025: C info subclasses -a -b -- ok notice: Running test case: ./tests/method-parameter.test info-superclass-error-messages method-parameter/info-superclass-error-messages.001: D info superclasses ok method-parameter/info-superclass-error-messages.002: D info superclasses -- ok method-parameter/info-superclass-error-messages.003: D info superclasses a ok method-parameter/info-superclass-error-messages.004: D info superclasses -a ok method-parameter/info-superclass-error-messages.005: D info superclasses -a -- ok method-parameter/info-superclass-error-messages.006: D info superclasses -- -a ok method-parameter/info-superclass-error-messages.007: D info superclasses -1 ok method-parameter/info-superclass-error-messages.008: D info superclasses a b ok method-parameter/info-superclass-error-messages.009: D info superclasses -- a b ok method-parameter/info-superclass-error-messages.010: D info superclasses a -- b ok method-parameter/info-superclass-error-messages.011: D info superclasses a b -- ok method-parameter/info-superclass-error-messages.012: D info superclasses -a b ok method-parameter/info-superclass-error-messages.013: D info superclasses -- -a b ok method-parameter/info-superclass-error-messages.014: D info superclasses -a -- b ok method-parameter/info-superclass-error-messages.015: D info superclasses -a b -- ok method-parameter/info-superclass-error-messages.016: D info superclasses a -b ok method-parameter/info-superclass-error-messages.017: D info superclasses -- a -b ok method-parameter/info-superclass-error-messages.018: D info superclasses a -- -b ok method-parameter/info-superclass-error-messages.019: D info superclasses a -b -- ok method-parameter/info-superclass-error-messages.020: D info superclasses -a -b ok method-parameter/info-superclass-error-messages.021: D info superclasses -- -a -b ok method-parameter/info-superclass-error-messages.022: D info superclasses -a -- -b ok method-parameter/info-superclass-error-messages.023: D info superclasses -a -b -- ok notice: Running test case: ./tests/method-parameter.test info-with-dash-class-names method-parameter/info-with-dash-class-names.001: C info subclasses ok method-parameter/info-with-dash-class-names.002: C info subclasses -- ok method-parameter/info-with-dash-class-names.003: -b info superclasses ok method-parameter/info-with-dash-class-names.004: -b info superclasses -- ok method-parameter/info-with-dash-class-names.005: C info subclasses -a ok method-parameter/info-with-dash-class-names.006: C info subclasses -a -- ok method-parameter/info-with-dash-class-names.007: C info subclasses -- -a ok method-parameter/info-with-dash-class-names.008: -b info superclasses -a ok method-parameter/info-with-dash-class-names.009: -b info superclasses -a -- ok method-parameter/info-with-dash-class-names.010: -b info superclasses -- -a ok notice: Running test case: ./tests/method-parameter.test abbrevs1 method-parameter/abbrevs1.001: x -super 1 ok method-parameter/abbrevs1.002: x -super1 1 ok method-parameter/abbrevs1.003: x -superc 1 ok method-parameter/abbrevs1.004: x -super12 1 ok method-parameter/abbrevs1.005: y -a 1 ok method-parameter/abbrevs1.006: y -aa 1 ok method-parameter/abbrevs1.007: y -aaa 1 ok method-parameter/abbrevs1.008: y -aa1 1 ok notice: Running test case: ./tests/method-parameter.test abbrevs2 method-parameter/abbrevs2.001: x 1 ok method-parameter/abbrevs2.002: x -1 ok method-parameter/abbrevs2.003: x -- -1 ok method-parameter/abbrevs2.004: y 1 ok method-parameter/abbrevs2.005: y -1 ok method-parameter/abbrevs2.006: y -- -1 ok Summary: Test-set method-parameter tests 104 success 104 failure 0 ms 1 TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./tests`/nsf-cmd.test -libdir `echo ./unix` -testlog ./__test.log notice: Running test case: ./tests/nsf-cmd.test nsf-method-get-variants nsf-cmd/nsf-method-get-variants.001: nsf::cmd::info args $::handle ok nsf-cmd/nsf-method-get-variants.002: nsf::cmd::info body $::handle ok nsf-cmd/nsf-method-get-variants.003: nsf::cmd::info definition $::handle ok nsf-cmd/nsf-method-get-variants.004: nsf::cmd::info exists $::handle ok nsf-cmd/nsf-method-get-variants.005: nsf::cmd::info registrationhandle $::handle ok nsf-cmd/nsf-method-get-variants.006: nsf::cmd::info definitionhandle $::handle ok nsf-cmd/nsf-method-get-variants.007: nsf::cmd::info origin $::handle ok nsf-cmd/nsf-method-get-variants.008: nsf::cmd::info parameter $::handle ok nsf-cmd/nsf-method-get-variants.009: nsf::cmd::info syntax $::handle ok nsf-cmd/nsf-method-get-variants.010: nsf::cmd::info type $::handle ok nsf-cmd/nsf-method-get-variants.011: nsf::cmd::info precondition $::handle ok nsf-cmd/nsf-method-get-variants.012: nsf::cmd::info postcondition $::handle ok nsf-cmd/nsf-method-get-variants.013: nsf::cmd::info submethods $::handle ok nsf-cmd/nsf-method-get-variants.014: nsf::cmd::info returns $::handle ok nsf-cmd/nsf-method-get-variants.015: nsf::cmd::info args $::handle ok nsf-cmd/nsf-method-get-variants.016: nsf::cmd::info body $::handle ok nsf-cmd/nsf-method-get-variants.017: nsf::cmd::info definition $::handle ok nsf-cmd/nsf-method-get-variants.018: nsf::cmd::info exists $::handle ok nsf-cmd/nsf-method-get-variants.019: nsf::cmd::info registrationhandle $::handle ok nsf-cmd/nsf-method-get-variants.020: nsf::cmd::info definitionhandle $::handle ok nsf-cmd/nsf-method-get-variants.021: nsf::cmd::info origin $::handle ok nsf-cmd/nsf-method-get-variants.022: nsf::cmd::info parameter $::handle ok nsf-cmd/nsf-method-get-variants.023: nsf::cmd::info syntax $::handle ok nsf-cmd/nsf-method-get-variants.024: nsf::cmd::info type $::handle ok nsf-cmd/nsf-method-get-variants.025: nsf::cmd::info precondition $::handle ok nsf-cmd/nsf-method-get-variants.026: nsf::cmd::info postcondition $::handle ok nsf-cmd/nsf-method-get-variants.027: nsf::cmd::info submethods $::handle ok nsf-cmd/nsf-method-get-variants.028: nsf::cmd::info returns $::handle ok nsf-cmd/nsf-method-get-variants.029: p1 info lookup method {string match} ok nsf-cmd/nsf-method-get-variants.030: p1 info lookup method {string match} ok nsf-cmd/nsf-method-get-variants.031: p1 info lookup method {string match} ok nsf-cmd/nsf-method-get-variants.032: p1 info lookup method {string match} ok nsf-cmd/nsf-method-get-variants.033: p1 info lookup method {string match} ok nsf-cmd/nsf-method-get-variants.034: nsf::cmd::info args $::handle ok nsf-cmd/nsf-method-get-variants.035: nsf::cmd::info body $::handle ok nsf-cmd/nsf-method-get-variants.036: nsf::cmd::info definition $::handle ok nsf-cmd/nsf-method-get-variants.037: nsf::cmd::info exists $::handle ok nsf-cmd/nsf-method-get-variants.038: nsf::cmd::info registrationhandle $::handle ok nsf-cmd/nsf-method-get-variants.039: nsf::cmd::info definitionhandle $::handle ok nsf-cmd/nsf-method-get-variants.040: nsf::cmd::info origin $::handle ok nsf-cmd/nsf-method-get-variants.041: nsf::cmd::info parameter $::handle ok nsf-cmd/nsf-method-get-variants.042: nsf::cmd::info syntax $::handle ok nsf-cmd/nsf-method-get-variants.043: nsf::cmd::info type $::handle ok nsf-cmd/nsf-method-get-variants.044: nsf::cmd::info precondition $::handle ok nsf-cmd/nsf-method-get-variants.045: nsf::cmd::info postcondition $::handle ok nsf-cmd/nsf-method-get-variants.046: nsf::cmd::info submethods $::handle ok nsf-cmd/nsf-method-get-variants.047: nsf::cmd::info returns $::handle ok nsf-cmd/nsf-method-get-variants.048: nsf::cmd::info args $::handle ok nsf-cmd/nsf-method-get-variants.049: nsf::cmd::info body $::handle ok nsf-cmd/nsf-method-get-variants.050: nsf::cmd::info definition $::handle ok nsf-cmd/nsf-method-get-variants.051: nsf::cmd::info exists $::handle ok nsf-cmd/nsf-method-get-variants.052: nsf::cmd::info registrationhandle $::handle ok nsf-cmd/nsf-method-get-variants.053: nsf::cmd::info definitionhandle $::handle ok nsf-cmd/nsf-method-get-variants.054: nsf::cmd::info origin $::handle ok nsf-cmd/nsf-method-get-variants.055: nsf::cmd::info parameter $::handle ok nsf-cmd/nsf-method-get-variants.056: nsf::cmd::info syntax $::handle ok nsf-cmd/nsf-method-get-variants.057: nsf::cmd::info type $::handle ok nsf-cmd/nsf-method-get-variants.058: nsf::cmd::info precondition $::handle ok nsf-cmd/nsf-method-get-variants.059: nsf::cmd::info postcondition $::handle ok nsf-cmd/nsf-method-get-variants.060: nsf::cmd::info submethods $::handle ok nsf-cmd/nsf-method-get-variants.061: nsf::cmd::info returns $::handle ok nsf-cmd/nsf-method-get-variants.062: nsf::cmd::info args $::handle ok nsf-cmd/nsf-method-get-variants.063: nsf::cmd::info body $::handle ok nsf-cmd/nsf-method-get-variants.064: nsf::cmd::info definition $::handle ok nsf-cmd/nsf-method-get-variants.065: nsf::cmd::info exists $::handle ok nsf-cmd/nsf-method-get-variants.066: nsf::cmd::info registrationhandle $::handle ok nsf-cmd/nsf-method-get-variants.067: nsf::cmd::info definitionhandle $::handle ok nsf-cmd/nsf-method-get-variants.068: nsf::cmd::info origin $::handle ok nsf-cmd/nsf-method-get-variants.069: nsf::cmd::info parameter $::handle ok nsf-cmd/nsf-method-get-variants.070: nsf::cmd::info syntax $::handle ok nsf-cmd/nsf-method-get-variants.071: nsf::cmd::info type $::handle ok nsf-cmd/nsf-method-get-variants.072: nsf::cmd::info precondition $::handle ok nsf-cmd/nsf-method-get-variants.073: nsf::cmd::info postcondition $::handle ok nsf-cmd/nsf-method-get-variants.074: nsf::cmd::info submethods $::handle ok nsf-cmd/nsf-method-get-variants.075: nsf::cmd::info returns $::handle ok nsf-cmd/nsf-method-get-variants.076: nsf::cmd::info definition ::baz ok nsf-cmd/nsf-method-get-variants.077: nsf::cmd::info args $::handle ok nsf-cmd/nsf-method-get-variants.078: nsf::cmd::info body $::handle ok nsf-cmd/nsf-method-get-variants.079: nsf::cmd::info definition $::handle ok nsf-cmd/nsf-method-get-variants.080: nsf::cmd::info exists $::handle ok nsf-cmd/nsf-method-get-variants.081: nsf::cmd::info registrationhandle $::handle ok nsf-cmd/nsf-method-get-variants.082: nsf::cmd::info definitionhandle $::handle ok nsf-cmd/nsf-method-get-variants.083: nsf::cmd::info origin $::handle ok nsf-cmd/nsf-method-get-variants.084: nsf::cmd::info parameter $::handle ok nsf-cmd/nsf-method-get-variants.085: nsf::cmd::info syntax $::handle ok nsf-cmd/nsf-method-get-variants.086: nsf::cmd::info type $::handle ok nsf-cmd/nsf-method-get-variants.087: nsf::cmd::info precondition $::handle ok nsf-cmd/nsf-method-get-variants.088: nsf::cmd::info postcondition $::handle ok nsf-cmd/nsf-method-get-variants.089: nsf::cmd::info submethods $::handle ok nsf-cmd/nsf-method-get-variants.090: nsf::cmd::info returns $::handle ok nsf-cmd/nsf-method-get-variants.091: nsf::method::property ::nx::Object $handle debug 1 ok nsf-cmd/nsf-method-get-variants.092: bar a b ok nsf-cmd/nsf-method-get-variants.093: nsf::cmd::info args $::handle ok nsf-cmd/nsf-method-get-variants.094: nsf::cmd::info body $::handle ok nsf-cmd/nsf-method-get-variants.095: nsf::cmd::info definition $::handle ok nsf-cmd/nsf-method-get-variants.096: nsf::cmd::info exists $::handle ok nsf-cmd/nsf-method-get-variants.097: nsf::cmd::info registrationhandle $::handle ok nsf-cmd/nsf-method-get-variants.098: nsf::cmd::info definitionhandle $::handle ok nsf-cmd/nsf-method-get-variants.099: nsf::cmd::info origin $::handle ok nsf-cmd/nsf-method-get-variants.100: nsf::cmd::info parameter $::handle ok nsf-cmd/nsf-method-get-variants.101: nsf::cmd::info syntax $::handle ok nsf-cmd/nsf-method-get-variants.102: nsf::cmd::info type $::handle ok nsf-cmd/nsf-method-get-variants.103: nsf::cmd::info precondition $::handle ok nsf-cmd/nsf-method-get-variants.104: nsf::cmd::info postcondition $::handle ok nsf-cmd/nsf-method-get-variants.105: nsf::cmd::info submethods $::handle ok nsf-cmd/nsf-method-get-variants.106: nsf::cmd::info returns $::handle ok nsf-cmd/nsf-method-get-variants.107: nsf::method::property ::nx::Object $handle debug 1 ok Debug: call(1) - bar a b Debug: exit(1) - ::nsf::procs::bar 19 usec -> a-b nsf-cmd/nsf-method-get-variants.108: bar a b ok nsf-cmd/nsf-method-get-variants.109: nsf::cmd::info args $::handle ok nsf-cmd/nsf-method-get-variants.110: nsf::cmd::info body $::handle ok nsf-cmd/nsf-method-get-variants.111: nsf::cmd::info definition $::handle ok nsf-cmd/nsf-method-get-variants.112: nsf::cmd::info exists $::handle ok nsf-cmd/nsf-method-get-variants.113: nsf::cmd::info registrationhandle $::handle ok nsf-cmd/nsf-method-get-variants.114: nsf::cmd::info definitionhandle $::handle ok nsf-cmd/nsf-method-get-variants.115: nsf::cmd::info origin $::handle ok nsf-cmd/nsf-method-get-variants.116: nsf::cmd::info parameter $::handle ok nsf-cmd/nsf-method-get-variants.117: nsf::cmd::info syntax $::handle ok nsf-cmd/nsf-method-get-variants.118: nsf::cmd::info type $::handle ok nsf-cmd/nsf-method-get-variants.119: nsf::cmd::info precondition $::handle ok nsf-cmd/nsf-method-get-variants.120: nsf::cmd::info postcondition $::handle ok nsf-cmd/nsf-method-get-variants.121: nsf::cmd::info submethods $::handle ok nsf-cmd/nsf-method-get-variants.122: nsf::cmd::info returns $::handle ok nsf-cmd/nsf-method-get-variants.123: nsf::method::property ::nx::Object $handle debug 1 ok Debug: call(1) - zero Debug: exit(1) - ::nsf::procs::zero 11 usec -> 333 nsf-cmd/nsf-method-get-variants.124: zero ok nsf-cmd/nsf-method-get-variants.125: nsf::cmd::info args $::handle ok nsf-cmd/nsf-method-get-variants.126: nsf::cmd::info body $::handle ok nsf-cmd/nsf-method-get-variants.127: nsf::cmd::info definition $::handle ok nsf-cmd/nsf-method-get-variants.128: nsf::cmd::info exists $::handle ok nsf-cmd/nsf-method-get-variants.129: nsf::cmd::info registrationhandle $::handle ok nsf-cmd/nsf-method-get-variants.130: nsf::cmd::info definitionhandle $::handle ok nsf-cmd/nsf-method-get-variants.131: nsf::cmd::info origin $::handle ok nsf-cmd/nsf-method-get-variants.132: nsf::cmd::info parameter $::handle ok nsf-cmd/nsf-method-get-variants.133 hint: we could compare with errorCode: TCL READ VARNAME nsf-cmd/nsf-method-get-variants.133: nsf::cmd::info syntax $::handle ok nsf-cmd/nsf-method-get-variants.134: nsf::cmd::info type $::handle ok nsf-cmd/nsf-method-get-variants.135: nsf::cmd::info precondition $::handle ok nsf-cmd/nsf-method-get-variants.136: nsf::cmd::info postcondition $::handle ok nsf-cmd/nsf-method-get-variants.137: nsf::cmd::info submethods $::handle ok nsf-cmd/nsf-method-get-variants.138: nsf::cmd::info returns $::handle ok nsf-cmd/nsf-method-get-variants.139: nsf::cmd::info args $::handle ok nsf-cmd/nsf-method-get-variants.140: nsf::cmd::info body $::handle ok nsf-cmd/nsf-method-get-variants.141: nsf::cmd::info definition $::handle ok nsf-cmd/nsf-method-get-variants.142: nsf::cmd::info exists $::handle ok nsf-cmd/nsf-method-get-variants.143: nsf::cmd::info registrationhandle $::handle ok nsf-cmd/nsf-method-get-variants.144: nsf::cmd::info definitionhandle $::handle ok nsf-cmd/nsf-method-get-variants.145: nsf::cmd::info origin $::handle ok nsf-cmd/nsf-method-get-variants.146: nsf::cmd::info parameter $::handle ok nsf-cmd/nsf-method-get-variants.147: nsf::cmd::info syntax $::handle ok nsf-cmd/nsf-method-get-variants.148: nsf::cmd::info type $::handle ok nsf-cmd/nsf-method-get-variants.149: nsf::cmd::info precondition $::handle ok nsf-cmd/nsf-method-get-variants.150: nsf::cmd::info postcondition $::handle ok nsf-cmd/nsf-method-get-variants.151: nsf::cmd::info submethods $::handle ok nsf-cmd/nsf-method-get-variants.152: nsf::cmd::info returns $::handle ok nsf-cmd/nsf-method-get-variants.153: nsf::cmd::info args $::handle ok nsf-cmd/nsf-method-get-variants.154: nsf::cmd::info body $::handle ok nsf-cmd/nsf-method-get-variants.155: nsf::cmd::info definition $::handle ok nsf-cmd/nsf-method-get-variants.156: nsf::cmd::info exists $::handle ok nsf-cmd/nsf-method-get-variants.157: nsf::cmd::info registrationhandle $::handle ok nsf-cmd/nsf-method-get-variants.158: nsf::cmd::info definitionhandle $::handle ok nsf-cmd/nsf-method-get-variants.159: nsf::cmd::info origin $::handle ok nsf-cmd/nsf-method-get-variants.160: nsf::cmd::info parameter $::handle ok nsf-cmd/nsf-method-get-variants.161: nsf::cmd::info syntax $::handle ok nsf-cmd/nsf-method-get-variants.162: nsf::cmd::info type $::handle ok nsf-cmd/nsf-method-get-variants.163: nsf::cmd::info precondition $::handle ok nsf-cmd/nsf-method-get-variants.164: nsf::cmd::info postcondition $::handle ok nsf-cmd/nsf-method-get-variants.165: nsf::cmd::info submethods $::handle ok nsf-cmd/nsf-method-get-variants.166: nsf::cmd::info returns $::handle ok nsf-cmd/nsf-method-get-variants.167: nsf::cmd::info args $::handle ok nsf-cmd/nsf-method-get-variants.168: nsf::cmd::info body $::handle ok nsf-cmd/nsf-method-get-variants.169: nsf::cmd::info definition $::handle ok nsf-cmd/nsf-method-get-variants.170: nsf::cmd::info exists $::handle ok nsf-cmd/nsf-method-get-variants.171: nsf::cmd::info registrationhandle $::handle ok nsf-cmd/nsf-method-get-variants.172: nsf::cmd::info definitionhandle $::handle ok nsf-cmd/nsf-method-get-variants.173: nsf::cmd::info origin $::handle ok nsf-cmd/nsf-method-get-variants.174: nsf::cmd::info parameter $::handle ok nsf-cmd/nsf-method-get-variants.175: nsf::cmd::info syntax $::handle ok nsf-cmd/nsf-method-get-variants.176: nsf::cmd::info type $::handle ok nsf-cmd/nsf-method-get-variants.177: nsf::cmd::info precondition $::handle ok nsf-cmd/nsf-method-get-variants.178: nsf::cmd::info postcondition $::handle ok nsf-cmd/nsf-method-get-variants.179: nsf::cmd::info submethods $::handle ok nsf-cmd/nsf-method-get-variants.180: nsf::cmd::info returns $::handle ok notice: Running test case: ./tests/nsf-cmd.test nsf-method-property nsf-cmd/nsf-method-property.001: ::nsf::object::exists ::TestMe ok nsf-cmd/nsf-method-property.002: ::nsf::method::property ::TestMe missing call-protected true ok nsf-cmd/nsf-method-property.003: ::nsf::method::forward::property ::TestMe missing verbose true ok nsf-cmd/nsf-method-property.004: ::nsf::method::property ::TestMe -per-object missing call-protected true ok nsf-cmd/nsf-method-property.005: ::nsf::method::property ::TestMe missing call-protected true ok nsf-cmd/nsf-method-property.006: ::nsf::method::forward::property ::TestMe -per-object missing verbose true ok nsf-cmd/nsf-method-property.007: ::nsf::method::forward::property ::TestMe missing verbose true ok notice: Running test case: ./tests/nsf-cmd.test nsf-debug-error O=-errorcode MyException -code 1 -level 0 -errorstack {INNER {invokeStk1 bar} CALL foo} -errorinfo {exception while executing "bar"} -errorline 2 <> nsf-cmd/nsf-debug-error.001: foo ok Debug: call(1) - bar Debug: exit(1) - ::nsf::procs::bar 15 usec -> exception O=-errorcode MyException -code 1 -level 0 -errorstack {INNER {invokeStk1 bar} CALL foo} -errorinfo {exception while executing "bar"} -errorline 2 <> nsf-cmd/nsf-debug-error.002: foo ok notice: Running test case: ./tests/nsf-cmd.test nsf-method-get-variants nsf-cmd/nsf-method-get-variants.181: nsf::cmd::info syntax -context p1 $::handle1 ok nsf-cmd/nsf-method-get-variants.182: nsf::cmd::info parameter -context p1 $::handle1 ok nsf-cmd/nsf-method-get-variants.183: nsf::cmd::info args -context p1 $::handle1 ok nsf-cmd/nsf-method-get-variants.184: nsf::cmd::info parameter -context p1 $::handle1 na* ok nsf-cmd/nsf-method-get-variants.185: nsf::cmd::info args -context p1 $::handle1 na* ok nsf-cmd/nsf-method-get-variants.186: nsf::cmd::info syntax -context p1 $::handle1 na* ok nsf-cmd/nsf-method-get-variants.187: nsf::cmd::info parameter -context p1 $::handle1 *a* ok nsf-cmd/nsf-method-get-variants.188: nsf::cmd::info args -context p1 $::handle1 *a* ok nsf-cmd/nsf-method-get-variants.189: nsf::cmd::info syntax -context p1 $::handle1 *a* ok nsf-cmd/nsf-method-get-variants.190: nsf::cmd::info syntax -context Person $::handle2 ok nsf-cmd/nsf-method-get-variants.191: nsf::cmd::info parameter -context Person $::handle2 ok nsf-cmd/nsf-method-get-variants.192: nsf::cmd::info args -context Person $::handle2 ok nsf-cmd/nsf-method-get-variants.193: nsf::cmd::info syntax -context Person $::handle3 ok nsf-cmd/nsf-method-get-variants.194: nsf::cmd::info parameter -context Person $::handle3 ok nsf-cmd/nsf-method-get-variants.195: nsf::cmd::info args -context Person $::handle3 ok nsf-cmd/nsf-method-get-variants.196: nsf::cmd::info parameter -context Person $::handle3 na* ok nsf-cmd/nsf-method-get-variants.197: nsf::cmd::info args -context Person $::handle3 na* ok nsf-cmd/nsf-method-get-variants.198: nsf::cmd::info syntax -context Person $::handle3 na* ok nsf-cmd/nsf-method-get-variants.199: nsf::cmd::info parameter -context Person $::handle3 *a* ok nsf-cmd/nsf-method-get-variants.200: nsf::cmd::info args -context Person $::handle3 *a* ok nsf-cmd/nsf-method-get-variants.201: nsf::cmd::info syntax -context Person $::handle3 *a* ok nsf-cmd/nsf-method-get-variants.202: nsf::cmd::info args -context Person $::handle3 *il* ok nsf-cmd/nsf-method-get-variants.203: nsf::cmd::info parameter $::handle1 ok nsf-cmd/nsf-method-get-variants.204: nsf::cmd::info parameter $::handle2 ok nsf-cmd/nsf-method-get-variants.205: nsf::cmd::info parameter $::handle3 ok nsf-cmd/nsf-method-get-variants.206: nsf::cmd::info syntax -context Student $::handle4 ok notice: Running test case: ./tests/nsf-cmd.test nsf-config-array nsf-cmd/nsf-config-array.001: array exists ::nsf::config ok nsf-cmd/nsf-config-array.002: info exists ::nsf::config(development) ok nsf-cmd/nsf-config-array.003: string is boolean 0 ok nsf-cmd/nsf-config-array.004: info exists ::nsf::config(memcount) ok nsf-cmd/nsf-config-array.005: string is boolean 0 ok nsf-cmd/nsf-config-array.006: info exists ::nsf::config(memtrace) ok nsf-cmd/nsf-config-array.007: string is boolean 0 ok nsf-cmd/nsf-config-array.008: info exists ::nsf::config(profile) ok nsf-cmd/nsf-config-array.009: string is boolean 0 ok nsf-cmd/nsf-config-array.010: info exists ::nsf::config(dtrace) ok nsf-cmd/nsf-config-array.011: string is boolean 0 ok nsf-cmd/nsf-config-array.012: info exists ::nsf::config(assertions) ok nsf-cmd/nsf-config-array.013: string is boolean 1 ok notice: Running test case: ./tests/nsf-cmd.test nsf-debug-recursive Debug: exit(1) - ::nsf::procs::foo 15 usec -> 1 nsf-cmd/nsf-debug-recursive.001: foo ok nsf-cmd/nsf-debug-recursive.002: set ::count ok notice: Running test case: ./tests/nsf-cmd.test nsf-log-recursive nsf-cmd/nsf-log-recursive.001: foo ok nsf-cmd/nsf-log-recursive.002: set ::count ok nsf-cmd/nsf-log-recursive.003: bar ok nsf-cmd/nsf-log-recursive.004: set ::count ok nsf-cmd/nsf-log-recursive.005: foo ok nsf-cmd/nsf-log-recursive.006: set ::count ok nsf-cmd/nsf-log-recursive.007: bar ok nsf-cmd/nsf-log-recursive.008: set ::count ok notice: Running test case: ./tests/nsf-cmd.test nsf-proc-rename-delete nsf-cmd/nsf-proc-rename-delete.001: info commands ::ns1::foo ok nsf-cmd/nsf-proc-rename-delete.002: info commands ::nsf::procs::ns1::foo ok nsf-cmd/nsf-proc-rename-delete.003: info procs ::ns1::foo ok nsf-cmd/nsf-proc-rename-delete.004: info procs ::nsf::procs::ns1::foo ok nsf-cmd/nsf-proc-rename-delete.005: invalid command name "::ns1::foo" ok nsf-cmd/nsf-proc-rename-delete.006: info commands ::ns1::foo ok nsf-cmd/nsf-proc-rename-delete.007: info commands ::nsf::procs::ns1::foo ok nsf-cmd/nsf-proc-rename-delete.008: info procs ::ns1::foo ok nsf-cmd/nsf-proc-rename-delete.009: info procs ::nsf::procs::ns1::foo ok nsf-cmd/nsf-proc-rename-delete.010: ::ns1::foo -x ok ok nsf-cmd/nsf-proc-rename-delete.011: info commands ::ns1::foo ok nsf-cmd/nsf-proc-rename-delete.012: info commands ::nsf::procs::ns1::foo ok nsf-cmd/nsf-proc-rename-delete.013: info procs ::ns1::foo ok nsf-cmd/nsf-proc-rename-delete.014: info procs ::nsf::procs::ns1::foo ok nsf-cmd/nsf-proc-rename-delete.015: invalid command name "::ns1::foo" ok notice: Running test case: ./tests/nsf-cmd.test nsf-proc-ns-delete nsf-cmd/nsf-proc-ns-delete.001: info commands ::ns1::foo ok nsf-cmd/nsf-proc-ns-delete.002: info commands ::nsf::procs::ns1::foo ok nsf-cmd/nsf-proc-ns-delete.003: info procs ::ns1::foo ok nsf-cmd/nsf-proc-ns-delete.004: info procs ::nsf::procs::ns1::foo ok nsf-cmd/nsf-proc-ns-delete.005: invalid command name "::ns1::foo" ok nsf-cmd/nsf-proc-ns-delete.006: info commands ::ns1::foo ok nsf-cmd/nsf-proc-ns-delete.007: info commands ::nsf::procs::ns1::foo ok nsf-cmd/nsf-proc-ns-delete.008: info procs ::ns1::foo ok nsf-cmd/nsf-proc-ns-delete.009: info procs ::nsf::procs::ns1::foo ok nsf-cmd/nsf-proc-ns-delete.010: ::ns1::foo -x ok ok nsf-cmd/nsf-proc-ns-delete.011: info commands ::ns1::foo ok nsf-cmd/nsf-proc-ns-delete.012: info commands ::nsf::procs::ns1::foo ok nsf-cmd/nsf-proc-ns-delete.013: info procs ::ns1::foo ok nsf-cmd/nsf-proc-ns-delete.014: info procs ::nsf::procs::ns1::foo ok nsf-cmd/nsf-proc-ns-delete.015: invalid command name "::ns1::foo" ok notice: Running test case: ./tests/nsf-cmd.test nsf-proc-rename-redefine nsf-cmd/nsf-proc-rename-redefine.001: ns1::foo -x ok ok nsf-cmd/nsf-proc-rename-redefine.002: ns1::foo -x ok ok notice: Running test case: ./tests/nsf-cmd.test nsf-proc-rename-redefine-call nsf-cmd/nsf-proc-rename-redefine-call.001: ns1::foo -x ok ok nsf-cmd/nsf-proc-rename-redefine-call.002: ns1::foo -x ok ok nsf-cmd/nsf-proc-rename-redefine-call.003: ns1::foo.orig -x ok ok notice: Running test case: ./tests/nsf-cmd.test nsf-proc-backstage-rename nsf-cmd/nsf-proc-backstage-rename.001: info commands ::ns1::foo ok nsf-cmd/nsf-proc-backstage-rename.002: info commands ::nsf::procs::ns1::foo ok nsf-cmd/nsf-proc-backstage-rename.003: info procs ::ns1::foo ok nsf-cmd/nsf-proc-backstage-rename.004: info procs ::nsf::procs::ns1::foo ok nsf-cmd/nsf-proc-backstage-rename.005: invalid command name "::ns1::foo" ok nsf-cmd/nsf-proc-backstage-rename.006: info commands ::ns1::foo ok nsf-cmd/nsf-proc-backstage-rename.007: info commands ::nsf::procs::ns1::foo ok nsf-cmd/nsf-proc-backstage-rename.008: info procs ::ns1::foo ok nsf-cmd/nsf-proc-backstage-rename.009: info procs ::nsf::procs::ns1::foo ok nsf-cmd/nsf-proc-backstage-rename.010: ::ns1::foo -x ok ok nsf-cmd/nsf-proc-backstage-rename.011: info commands ::ns1::foo ok nsf-cmd/nsf-proc-backstage-rename.012: info commands ::nsf::procs::ns1::foo ok nsf-cmd/nsf-proc-backstage-rename.013: info procs ::ns1::foo ok nsf-cmd/nsf-proc-backstage-rename.014: info procs ::nsf::procs::ns1::foo ok nsf-cmd/nsf-proc-backstage-rename.015: ::ns1::foo -x ok ok nsf-cmd/nsf-proc-backstage-rename.016: info commands ::ns1::foo ok nsf-cmd/nsf-proc-backstage-rename.017: info commands ::nsf::procs::ns1::foo ok nsf-cmd/nsf-proc-backstage-rename.018: info procs ::ns1::foo ok nsf-cmd/nsf-proc-backstage-rename.019: info procs ::nsf::procs::ns1::foo ok nsf-cmd/nsf-proc-backstage-rename.020: invalid command name "::ns1::foo" ok notice: Running test case: ./tests/nsf-cmd.test nsf-proc-backstage-rename-2 nsf-cmd/nsf-proc-backstage-rename-2.001: info commands ::ns1::foo ok nsf-cmd/nsf-proc-backstage-rename-2.002: info commands ::nsf::procs::ns1::foo ok nsf-cmd/nsf-proc-backstage-rename-2.003: info procs ::ns1::foo ok nsf-cmd/nsf-proc-backstage-rename-2.004: info procs ::nsf::procs::ns1::foo ok nsf-cmd/nsf-proc-backstage-rename-2.005: invalid command name "::ns1::foo" ok nsf-cmd/nsf-proc-backstage-rename-2.006: info commands ::ns1::foo ok nsf-cmd/nsf-proc-backstage-rename-2.007: info commands ::nsf::procs::ns1::foo ok nsf-cmd/nsf-proc-backstage-rename-2.008: info procs ::ns1::foo ok nsf-cmd/nsf-proc-backstage-rename-2.009: info procs ::nsf::procs::ns1::foo ok nsf-cmd/nsf-proc-backstage-rename-2.010: ::ns1::foo -x ok ok nsf-cmd/nsf-proc-backstage-rename-2.011: info commands ::ns1::foo ok nsf-cmd/nsf-proc-backstage-rename-2.012: info commands ::nsf::procs::ns1::foo ok nsf-cmd/nsf-proc-backstage-rename-2.013: info procs ::ns1::foo ok nsf-cmd/nsf-proc-backstage-rename-2.014: info procs ::nsf::procs::ns1::foo ok nsf-cmd/nsf-proc-backstage-rename-2.015: ::ns1::foo -x ok ok nsf-cmd/nsf-proc-backstage-rename-2.016: info commands ::ns1::foo ok nsf-cmd/nsf-proc-backstage-rename-2.017: info commands ::nsf::procs::ns1::foo ok nsf-cmd/nsf-proc-backstage-rename-2.018: info procs ::ns1::foo ok nsf-cmd/nsf-proc-backstage-rename-2.019: info procs ::nsf::procs::ns1::foo ok nsf-cmd/nsf-proc-backstage-rename-2.020: invalid command name "::ns1::foo" ok notice: Running test case: ./tests/nsf-cmd.test nsf-proc-preexisting nsf-cmd/nsf-proc-preexisting.001: info commands ::ns1::foo ok nsf-cmd/nsf-proc-preexisting.002: info commands ::nsf::procs::ns1::foo ok nsf-cmd/nsf-proc-preexisting.003: info commands ::ns1::foo ok nsf-cmd/nsf-proc-preexisting.004: info commands ::nsf::procs::ns1::foo ok nsf-cmd/nsf-proc-preexisting.005: nsf::proc ::ns1::foo { {-x:required} } { return 1-$x } ok nsf-cmd/nsf-proc-preexisting.006: ::ns1::foo -x ok ok notice: Running test case: ./tests/nsf-cmd.test nsf-proc-preexisting-rename nsf-cmd/nsf-proc-preexisting-rename.001: info commands ::ns1::foo ok nsf-cmd/nsf-proc-preexisting-rename.002: info commands ::nsf::procs::ns1::foo ok nsf-cmd/nsf-proc-preexisting-rename.003: info commands ::ns1::foo.orig ok nsf-cmd/nsf-proc-preexisting-rename.004: info commands ::nsf::procs::ns1::foo.orig ok nsf-cmd/nsf-proc-preexisting-rename.005: nsf::proc ::ns1::foo { {-x:required} } { return 1-$x } ok nsf-cmd/nsf-proc-preexisting-rename.006: ::ns1::foo -x ok ok nsf-cmd/nsf-proc-preexisting-rename.007: can't rename to "::nsf::procs::ns1::foo.orig": command already exists ok Summary: Test-set nsf-cmd tests 326 success 326 failure 0 ms 4 TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./tests`/accessor.test -libdir `echo ./unix` -testlog ./__test.log speedtest/test.114: 20.63 mms, call forwarder (regexep) and check created variable notice: Running test case: ./tests/accessor.test setter-variants accessor/setter-variants.001: c1 cget -p1a ok accessor/setter-variants.002: c1 configure -p1a 1 ok accessor/setter-variants.003: c1 cget -p1b ok accessor/setter-variants.004: c1 configure -p1b 3 ok accessor/setter-variants.005: c1 cget -p1b ok ::C public forward p2a -prefix value= ::C::slot::p2a %1 %self p2a accessor/setter-variants.006: c1 cget -p2a ok accessor/setter-variants.007: c1 p2a get ok accessor/setter-variants.008: c1 configure -p2a 2 ok accessor/setter-variants.009: c1 p2a set 2 ok accessor/setter-variants.010: c1 p2a unset ok accessor/setter-variants.011: c1 cget -p2a ok accessor/setter-variants.012: c1 p2a unset ok accessor/setter-variants.013: c1 p2a unset -nocomplain ok ::C public forward p2b -prefix value= ::C::slot::p2b %1 %self p2b accessor/setter-variants.014: c1 cget -p2b ok accessor/setter-variants.015: c1 p2b get ok accessor/setter-variants.016: c1 configure -p2b 2 ok accessor/setter-variants.017: c1 p2b set 2 ok accessor/setter-variants.018: c1 p2b unset ok accessor/setter-variants.019 hint: we could compare with errorCode: TCL LOOKUP VARNAME p2b accessor/setter-variants.019: c1 cget -p2b ok ::C public forward p3a -prefix value= ::C::slot::p3a %1 %self p3a accessor/setter-variants.020: c1 cget -p3a ok accessor/setter-variants.021: c1 p3a get ok accessor/setter-variants.022: c1 configure -p3a 3 ok accessor/setter-variants.023: c1 p3a get 3 ok accessor/setter-variants.024: c1 p3a set 3 ok accessor/setter-variants.025: c1 p3a unset ok accessor/setter-variants.026: c1 cget -p3a ok ::C public forward p3b -prefix value= ::C::slot::p3b %1 %self p3b accessor/setter-variants.027: c1 cget -p3b ok accessor/setter-variants.028: c1 p3b get ok accessor/setter-variants.029: c1 configure -p3b 4 ok accessor/setter-variants.030: c1 p3b get ok accessor/setter-variants.031: c1 p3b set 4 ok accessor/setter-variants.032: c1 p3b get ok accessor/setter-variants.033: c1 p3b set 4 ok accessor/setter-variants.034: c1 p3b get ok accessor/setter-variants.035: c1 p3b unset ok accessor/setter-variants.036 hint: we could compare with errorCode: TCL LOOKUP VARNAME p3b accessor/setter-variants.036: c1 cget -p3b ok Summary: Test-set accessor tests 36 success 36 failure 0 ms 1 TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./tests`/cget.test -libdir `echo ./unix` -testlog ./__test.log speedtest/test.115: 1.08 mms, call forwarder to another obj notice: Running test case: ./tests/cget.test cget-simple cget/cget-simple.001: p1 cget -age ok cget/cget-simple.002: p1 cget -famnam ok cget/cget-simple.003: p1 cget -friends ok cget/cget-simple.004: p1 cget -class ok cget/cget-simple.005: p1 cget ok cget/cget-simple.006: p1 cget -foo ok cget/cget-simple.007: p1 cget foo ok cget/cget-simple.008: p1 cget -sex ok cget/cget-simple.009: p1 configure -famnam joe -age 27 ok cget/cget-simple.010: p1 cget -age ok cget/cget-simple.011: p1 cget -famnam ok cget/cget-simple.012: p1 configure ok cget/cget-simple.013: p1 info lookup syntax configure ok notice: Running test case: ./tests/cget.test cget-via-slot cget/cget-via-slot.001: p1 configure ok cget/cget-via-slot.002: p1 info lookup syntax configure ok cget/cget-via-slot.003: p1 configure -bar1 100 ok cget/cget-via-slot.004: array get ::count ok cget/cget-via-slot.005: p1 cget -bar1 ok cget/cget-via-slot.006: array get ::count ok cget/cget-via-slot.007: p1 configure -bar2 100 ok cget/cget-via-slot.008: array get ::count ok cget/cget-via-slot.009: p1 cget -bar2 ok cget/cget-via-slot.010: array get ::count ok notice: Running test case: ./tests/cget.test cget-parameter-methods cget/cget-parameter-methods.001: C info lookup syntax configure ok cget/cget-parameter-methods.002: C cget -superclasses ok cget/cget-parameter-methods.003: C cget -superclass ok cget/cget-parameter-methods.004: C cget -object-mixin ok cget/cget-parameter-methods.005: C cget -mixin ok cget/cget-parameter-methods.006: C cget -filter ok cget/cget-parameter-methods.007: C cget -volatile ok cget/cget-parameter-methods.008: C cget -class ok cget/cget-parameter-methods.009: c1 info lookup syntax configure ok cget/cget-parameter-methods.010: c1 cget -volatile ok cget/cget-parameter-methods.011: c1 cget -object-mixin ok cget/cget-parameter-methods.012: c1 cget -class ok cget/cget-parameter-methods.013: c1 cget -object-filter ok cget/cget-parameter-methods.014: c1 eval {set :m0} ok cget/cget-parameter-methods.015: c1 eval {set :m1} ok cget/cget-parameter-methods.016: c1 cget -foo ok cget/cget-parameter-methods.017: c1 cget -bar ok notice: Running test case: ./tests/cget.test cget-performance cget/cget-performance.001: 1.36 mms, p1 age get cget/cget-performance.002: 1.06 mms, p1 cget -age cget/cget-performance.003: 1.27 mms, p1 ::nsf::methods::object::cget -age cget/cget-performance.004: 1.30 mms, p1 cget -bar speedtest/test.116: 0.84 mms, call handcoded incr cget/cget-performance.005: 1.69 mms, p1 age set 27 cget/cget-performance.006: 1.80 mms, p1 configure -age 27 cget/cget-performance.007: 1.95 mms, p1 configure -bar 102 notice: Running test case: ./tests/cget.test configure-trace-class cget/configure-trace-class.001: c1 eval {info exists :p} ok cget/configure-trace-class.002: c1 cget -p ok cget/configure-trace-class.003: c1 configure -p 1 ok cget/configure-trace-class.004: c1 eval {info exists :p} ok cget/configure-trace-class.005: c1 cget -p ok cget/configure-trace-class.006: c2 eval {info exists :q} ok cget/configure-trace-class.007: c2 cget -q ok cget/configure-trace-class.008: c2 configure -q 101 ok cget/configure-trace-class.009: c2 cget -q ok notice: Running test case: ./tests/cget.test configure-trace-object cget/configure-trace-object.001: o eval {info exists :A} ok cget/configure-trace-object.002: o eval {info exists :A} ok cget/configure-trace-object.003: o cget -A ok cget/configure-trace-object.004: o configure -A 1 ok cget/configure-trace-object.005: o cget -A ok cget/configure-trace-object.006: o eval {info exists :B} ok cget/configure-trace-object.007: o eval {info exists :B} ok cget/configure-trace-object.008: o cget -B ok cget/configure-trace-object.009: o configure -B 1001 ok cget/configure-trace-object.010: o cget -B ok notice: Running test case: ./tests/cget.test configure-trace-class-type cget/configure-trace-class-type.001: c1 eval {info exists :p} ok cget/configure-trace-class-type.002: c1 cget -p ok cget/configure-trace-class-type.003: c1 configure -p a ok cget/configure-trace-class-type.004: c1 eval {info exists :p} ok cget/configure-trace-class-type.005: c1 configure -p 1 ok cget/configure-trace-class-type.006: c1 eval {info exists :p} ok cget/configure-trace-class-type.007: c1 cget -p ok cget/configure-trace-class-type.008: C property -trace set {q:integer aaa} { :public object method value=set {obj var value} { ::nsf::var::set -notrace $obj $var [expr {$value + 1}] } } ok cget/configure-trace-class-type.009: C info slots q ok cget/configure-trace-class-type.010: C property -trace set {q:integer 99} { :public object method value=set {obj var value} { ::nsf::var::set -notrace $obj $var [expr {$value + 1}] } } ok cget/configure-trace-class-type.011: C info slots q ok cget/configure-trace-class-type.012: C create c2 -q 111 ok cget/configure-trace-class-type.013: c2 eval {info exists :q} ok cget/configure-trace-class-type.014: c2 cget -q ok cget/configure-trace-class-type.015: c2 configure -q 101 ok cget/configure-trace-class-type.016: c2 cget -q ok notice: Running test case: ./tests/cget.test configure-trace-object-type cget/configure-trace-object-type.001: o eval {info exists :A} ok cget/configure-trace-object-type.002: o eval {info exists :A} ok cget/configure-trace-object-type.003: o cget -A ok cget/configure-trace-object-type.004: o configure -A 1 ok cget/configure-trace-object-type.005: o cget -A ok cget/configure-trace-object-type.006: o configure -A x ok cget/configure-trace-object-type.007: o cget -A ok cget/configure-trace-object-type.008: o eval {info exists :B} ok cget/configure-trace-object-type.009: o object property -trace set {B:integer x} { :public object method value=set {obj var value} { ::nsf::var::set -notrace $obj $var [expr {$value + 1}] } } ok cget/configure-trace-object-type.010: o eval {info exists :B} ok cget/configure-trace-object-type.011: o info object slots B ok cget/configure-trace-object-type.012: o object property -trace set {B:integer 1000} { :public object method value=set {obj var value} { ::nsf::var::set -notrace $obj $var [expr {$value + 1}] } } ok cget/configure-trace-object-type.013: o info object slots B ok cget/configure-trace-object-type.014: o eval {info exists :B} ok cget/configure-trace-object-type.015: o cget -B ok cget/configure-trace-object-type.016: o configure -B 1001 ok cget/configure-trace-object-type.017: o cget -B ok cget/configure-trace-object-type.018: o configure -B x ok cget/configure-trace-object-type.019: o cget -B ok Summary: Test-set cget tests 101 success 101 failure 0 ms 107 TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./tests`/properties.test -libdir `echo ./unix` -testlog ./__test.log notice: Running test case: ./tests/properties.test class-level properties/class-level.001: c1 info lookup syntax configure ok properties/class-level.002: lsort [C info slots] ok properties/class-level.003: ::C::slot::a definition ok properties/class-level.004: ::C::slot::b definition ok properties/class-level.005: ::C::slot::c definition ok properties/class-level.006: ::C::slot::____C.d definition ok properties/class-level.007: ::C::slot::e definition ok properties/class-level.008: ::C::slot::va definition ok properties/class-level.009: ::C::slot::vb definition ok properties/class-level.010: ::C::slot::vc definition ok properties/class-level.011: ::C::slot::____C.vd definition ok properties/class-level.012: ::C::slot::ve definition ok properties/class-level.013: ::C::slot::vf definition ok properties/class-level.014: c1 cget -a ok properties/class-level.015: c1 cget -b ok properties/class-level.016: c1 cget -c ok properties/class-level.017: c1 cget -d ok properties/class-level.018: c1 cget -va ok properties/class-level.019: c1 cget -vb ok properties/class-level.020: c1 cget -vc ok properties/class-level.021: c1 cget -vd ok properties/class-level.022: c1 cget -ve ok properties/class-level.023: c1 cget -vf ok properties/class-level.024: c1 info lookup method a ok properties/class-level.025: c1 info lookup method b ok properties/class-level.026: c1 info lookup method c ok properties/class-level.027: c1 info lookup method d ok properties/class-level.028: c1 info lookup method e ok properties/class-level.029: c1 info lookup method f ok properties/class-level.030: c1 info lookup method va ok properties/class-level.031: c1 info lookup method vb ok properties/class-level.032: c1 info lookup method vc ok properties/class-level.033: c1 info lookup method vd ok properties/class-level.034: c1 info lookup method ve ok properties/class-level.035: c1 info lookup method vf ok properties/class-level.036: nsf::method::property C b call-protected ok properties/class-level.037: nsf::method::property C c call-protected ok properties/class-level.038: nsf::method::property C d call-protected ok properties/class-level.039: nsf::method::property C vb call-protected ok properties/class-level.040: nsf::method::property C vc call-protected ok properties/class-level.041: nsf::method::property C vd call-protected ok properties/class-level.042: nsf::method::property C b call-private ok properties/class-level.043: nsf::method::property C c call-private ok properties/class-level.044: nsf::method::property C d call-private ok properties/class-level.045: nsf::method::property C vb call-private ok properties/class-level.046: nsf::method::property C vc call-private ok properties/class-level.047: nsf::method::property C vd call-private ok properties/class-level.048: c1 eval "info exists :a" ok properties/class-level.049: c1 eval "info exists :b" ok properties/class-level.050: c1 eval "info exists :c" ok properties/class-level.051: c1 eval "info exists :d" ok properties/class-level.052: c1 eval "info exists :va" ok properties/class-level.053: c1 eval "info exists :vb" ok properties/class-level.054: c1 eval "info exists :vc" ok properties/class-level.055: c1 eval "info exists :vd" ok properties/class-level.056: c1 eval "info exists :ve" ok properties/class-level.057: c1 eval "info exists :vf" ok properties/class-level.058: c1 a ok properties/class-level.059: c1 b get ok Warning: '::c1 c' fails since method ::C.c is protected properties/class-level.060: c1 c ok properties/class-level.061: c1 d ok properties/class-level.062: c1 eval ":a" ok properties/class-level.063: c1 eval ":b get" ok properties/class-level.064: c1 eval ":c get" ok properties/class-level.065: c1 eval ":d" ok properties/class-level.066: c1 va ok properties/class-level.067: c1 vb get ok Warning: '::c1 vc' fails since method ::C.vc is protected properties/class-level.068: c1 vc ok properties/class-level.069: c1 vd ok properties/class-level.070: c1 eval ":va" ok properties/class-level.071: c1 eval ":vb get" ok properties/class-level.072: c1 eval ":vc get" ok properties/class-level.073: c1 eval ":vd" ok properties/class-level.074: c1 call-local d ok properties/class-level.075: c1 call-local vd ok properties/class-level.076: lsort [c1 info vars] ok properties/class-level.077: c1 eval "array get :__private" ok properties/class-level.078: c1 b add x ok Warning: '::c1 c' fails since method ::C.c is protected properties/class-level.079: c1 c add x ok properties/class-level.080: c1 eval {:c add x} ok properties/class-level.081: c1 d add x ok properties/class-level.082: c1 eval {:d add x} ok properties/class-level.083: c1 e add x ok properties/class-level.084: c1 va add x ok properties/class-level.085: c1 vb add x ok Warning: '::c1 vc' fails since method ::C.vc is protected properties/class-level.086: c1 vc add x ok properties/class-level.087: c1 eval {:vc add x} ok properties/class-level.088: c1 vd add x ok properties/class-level.089: c1 eval {:vd add x} ok properties/class-level.090: c1 ve add x ok properties/class-level.091: C info method definition b ok properties/class-level.092: C property -accessor proceted {b b1} ok properties/class-level.093: C info method definition b ok notice: Running test case: ./tests/properties.test class-level-incremental properties/class-level-incremental.001: c1 info lookup syntax configure ok properties/class-level-incremental.002: c1 cget -a ok properties/class-level-incremental.003: c1 cget -b ok properties/class-level-incremental.004: c1 cget -c ok properties/class-level-incremental.005: c1 cget -d ok properties/class-level-incremental.006: c1 cget -va ok properties/class-level-incremental.007: c1 cget -vb ok properties/class-level-incremental.008: c1 cget -vc ok properties/class-level-incremental.009: c1 cget -vd ok properties/class-level-incremental.010: c1 info lookup method a ok properties/class-level-incremental.011: c1 info lookup method b ok properties/class-level-incremental.012: c1 info lookup method c ok properties/class-level-incremental.013: c1 info lookup method d ok properties/class-level-incremental.014: c1 info lookup method va ok properties/class-level-incremental.015: c1 info lookup method vb ok properties/class-level-incremental.016: c1 info lookup method vc ok properties/class-level-incremental.017: c1 info lookup method vd ok properties/class-level-incremental.018: nsf::method::property CC a call-protected ok properties/class-level-incremental.019: nsf::method::property CC b call-protected ok properties/class-level-incremental.020: nsf::method::property CC c call-protected ok properties/class-level-incremental.021: nsf::method::property CC d call-protected ok properties/class-level-incremental.022: nsf::method::property CC va call-protected ok properties/class-level-incremental.023: nsf::method::property CC vb call-protected ok properties/class-level-incremental.024: nsf::method::property CC vc call-protected ok properties/class-level-incremental.025: nsf::method::property CC vd call-protected ok properties/class-level-incremental.026: nsf::method::property CC a call-private ok properties/class-level-incremental.027: nsf::method::property CC b call-private ok properties/class-level-incremental.028: nsf::method::property CC c call-private ok properties/class-level-incremental.029: nsf::method::property CC d call-private ok properties/class-level-incremental.030: nsf::method::property CC va call-private ok properties/class-level-incremental.031: nsf::method::property CC vb call-private ok properties/class-level-incremental.032: nsf::method::property CC vc call-private ok properties/class-level-incremental.033: nsf::method::property CC vd call-private ok properties/class-level-incremental.034: c1 eval "info exists :a" ok properties/class-level-incremental.035: c1 eval "info exists :b" ok properties/class-level-incremental.036: c1 eval "info exists :c" ok properties/class-level-incremental.037: c1 eval "info exists :d" ok properties/class-level-incremental.038: c1 eval "info exists :va" ok properties/class-level-incremental.039: c1 eval "info exists :vb" ok properties/class-level-incremental.040: c1 eval "info exists :vc" ok properties/class-level-incremental.041: c1 eval "info exists :vd" ok properties/class-level-incremental.042: c1 a get ok properties/class-level-incremental.043: c1 b get ok Warning: '::c1 c' fails since method ::CC.c is protected properties/class-level-incremental.044: c1 c ok properties/class-level-incremental.045: c1 d ok properties/class-level-incremental.046: c1 eval ":a get" ok properties/class-level-incremental.047: c1 eval ":b get" ok properties/class-level-incremental.048: c1 eval ":c get" ok properties/class-level-incremental.049: c1 eval ":d" ok properties/class-level-incremental.050: c1 va get ok properties/class-level-incremental.051: c1 vb get ok Warning: '::c1 vc' fails since method ::CC.vc is protected properties/class-level-incremental.052: c1 vc ok properties/class-level-incremental.053: c1 vd ok properties/class-level-incremental.054: c1 eval ":va get" ok properties/class-level-incremental.055: c1 eval ":vb get" ok properties/class-level-incremental.056: c1 eval ":vc get" ok properties/class-level-incremental.057: c1 eval ":vd get" ok properties/class-level-incremental.058: c1 call-local d ok properties/class-level-incremental.059: c1 call-local vd ok properties/class-level-incremental.060: lsort [c1 info vars] ok properties/class-level-incremental.061: c1 eval "array get :__private" ok properties/class-level-incremental.062: c1 a add x ok properties/class-level-incremental.063: c1 b add x ok Warning: '::c1 c' fails since method ::CC.c is protected properties/class-level-incremental.064: c1 c add x ok properties/class-level-incremental.065: c1 eval {:c add x} ok properties/class-level-incremental.066: c1 d add x ok properties/class-level-incremental.067: c1 eval {:d add x} ok properties/class-level-incremental.068: c1 add-local d x ok properties/class-level-incremental.069: c1 e add x ok properties/class-level-incremental.070: c1 e delete x ok properties/class-level-incremental.071: c1 e get ok properties/class-level-incremental.072: c1 e delete -nocomplain x ok properties/class-level-incremental.073: c1 e delete x ok properties/class-level-incremental.074: c1 e delete -nocomplain e1 ok properties/class-level-incremental.075: c1 e get ok properties/class-level-incremental.076: c1 e unset ok properties/class-level-incremental.077: c1 e get ok properties/class-level-incremental.078: c1 va add x ok properties/class-level-incremental.079: c1 vb add x ok Warning: '::c1 vc' fails since method ::CC.vc is protected properties/class-level-incremental.080: c1 vc add x ok properties/class-level-incremental.081: c1 eval {:vc add x} ok properties/class-level-incremental.082: c1 vd add x ok properties/class-level-incremental.083: c1 eval {:vd add x} ok properties/class-level-incremental.084: c1 add-local vd x ok properties/class-level-incremental.085: c1 ve add x ok properties/class-level-incremental.086: c1 ve delete x ok properties/class-level-incremental.087: c1 ve get ok properties/class-level-incremental.088: c1 ve delete -nocomplain x ok properties/class-level-incremental.089: c1 ve delete x ok properties/class-level-incremental.090: c1 ve delete -nocomplain ve1 ok properties/class-level-incremental.091: c1 ve get ok properties/class-level-incremental.092: c1 ve unset ok properties/class-level-incremental.093: c1 ve get ok properties/class-level-incremental.094: CC info method definition b ok properties/class-level-incremental.095: CC property -accessor proceted -incremental {b b1} ok properties/class-level-incremental.096: CC info method definition b ok notice: Running test case: ./tests/properties.test object-level properties/object-level.001: o1 info lookup slots a ok properties/object-level.002: o1 info lookup syntax configure ok properties/object-level.003: o1 cget -a ok properties/object-level.004: o1 cget -b ok properties/object-level.005: o1 cget -c ok properties/object-level.006: o1 cget -d ok properties/object-level.007: o1 cget -va ok properties/object-level.008: o1 cget -vb ok properties/object-level.009: o1 cget -vc ok properties/object-level.010: o1 cget -vd ok properties/object-level.011: o1 info lookup method a ok properties/object-level.012: o1 info lookup method b ok properties/object-level.013: o1 info lookup method c ok properties/object-level.014: o1 info lookup method d ok properties/object-level.015: o1 info lookup method e ok properties/object-level.016: o1 info lookup method va ok properties/object-level.017: o1 info lookup method vb ok properties/object-level.018: o1 info lookup method vc ok properties/object-level.019: o1 info lookup method vd ok properties/object-level.020: o1 info lookup method ve ok properties/object-level.021: nsf::method::property o1 b call-protected ok properties/object-level.022: nsf::method::property o1 c call-protected ok properties/object-level.023: nsf::method::property o1 d call-protected ok properties/object-level.024: nsf::method::property o1 vb call-protected ok properties/object-level.025: nsf::method::property o1 vc call-protected ok properties/object-level.026: nsf::method::property o1 vd call-protected ok properties/object-level.027: nsf::method::property o1 b call-private ok properties/object-level.028: nsf::method::property o1 c call-private ok properties/object-level.029: nsf::method::property o1 d call-private ok speedtest/test.117: 0.92 mms, call incr via instforward properties/object-level.030: nsf::method::property o1 vb call-private ok properties/object-level.031: nsf::method::property o1 vc call-private ok properties/object-level.032: nsf::method::property o1 vd call-private ok properties/object-level.033: o1 eval "info exists :a" ok properties/object-level.034: o1 eval "info exists :b" ok properties/object-level.035: o1 eval "info exists :c" ok properties/object-level.036: o1 eval "info exists :d" ok properties/object-level.037: o1 eval "info exists :e" ok properties/object-level.038: o1 eval "info exists :va" ok properties/object-level.039: o1 eval "info exists :vb" ok properties/object-level.040: o1 eval "info exists :vc" ok properties/object-level.041: o1 eval "info exists :vd" ok properties/object-level.042: o1 eval "info exists :ve" ok properties/object-level.043: o1 a ok properties/object-level.044: o1 b get ok Warning: '::o1 c' fails since method ::o1.c is protected properties/object-level.045: o1 c ok properties/object-level.046: o1 d ok properties/object-level.047: o1 eval ":a" ok properties/object-level.048: o1 eval ":b get" ok properties/object-level.049: o1 eval ":c get" ok properties/object-level.050: o1 eval ":d" ok properties/object-level.051: o1 va ok properties/object-level.052: o1 vb get ok Warning: '::o1 vc' fails since method ::o1.vc is protected properties/object-level.053: o1 vc ok properties/object-level.054: o1 vd ok properties/object-level.055: o1 eval ":va" ok properties/object-level.056: o1 eval ":vb get" ok properties/object-level.057: o1 eval ":vc get" ok properties/object-level.058: o1 eval ":vd" ok properties/object-level.059: o1 call-local d ok properties/object-level.060: o1 call-local vd ok properties/object-level.061: lsort [o1 info vars] ok properties/object-level.062: o1 eval "array get :__private" ok properties/object-level.063: o1 object property -accessor proceted {b b1} ok notice: Running test case: ./tests/properties.test object-level-incremental properties/object-level-incremental.001: o1 info lookup syntax configure ok properties/object-level-incremental.002: o1 cget -a ok properties/object-level-incremental.003: o1 cget -b ok properties/object-level-incremental.004: o1 cget -c ok properties/object-level-incremental.005: o1 cget -d ok properties/object-level-incremental.006: o1 cget -va ok properties/object-level-incremental.007: o1 cget -vb ok properties/object-level-incremental.008: o1 cget -vc ok properties/object-level-incremental.009: o1 cget -vd ok properties/object-level-incremental.010: o1 info lookup method a ok properties/object-level-incremental.011: o1 info lookup method b ok properties/object-level-incremental.012: o1 info lookup method c ok properties/object-level-incremental.013: o1 info lookup method d ok properties/object-level-incremental.014: o1 info lookup method va ok properties/object-level-incremental.015: o1 info lookup method vb ok properties/object-level-incremental.016: o1 info lookup method vc ok properties/object-level-incremental.017: o1 info lookup method vd ok properties/object-level-incremental.018: nsf::method::property o1 a call-protected ok properties/object-level-incremental.019: nsf::method::property o1 b call-protected ok properties/object-level-incremental.020: nsf::method::property o1 c call-protected ok properties/object-level-incremental.021: nsf::method::property o1 d call-protected ok properties/object-level-incremental.022: nsf::method::property o1 va call-protected ok properties/object-level-incremental.023: nsf::method::property o1 vb call-protected ok properties/object-level-incremental.024: nsf::method::property o1 vc call-protected ok properties/object-level-incremental.025: nsf::method::property o1 vd call-protected ok properties/object-level-incremental.026: nsf::method::property o1 a call-private ok properties/object-level-incremental.027: nsf::method::property o1 b call-private ok properties/object-level-incremental.028: nsf::method::property o1 c call-private ok properties/object-level-incremental.029: nsf::method::property o1 d call-private ok properties/object-level-incremental.030: nsf::method::property o1 va call-private ok properties/object-level-incremental.031: nsf::method::property o1 vb call-private ok properties/object-level-incremental.032: nsf::method::property o1 vc call-private ok properties/object-level-incremental.033: nsf::method::property o1 vd call-private ok properties/object-level-incremental.034: o1 eval "info exists :a" ok properties/object-level-incremental.035: o1 eval "info exists :b" ok properties/object-level-incremental.036: o1 eval "info exists :c" ok properties/object-level-incremental.037: o1 eval "info exists :d" ok properties/object-level-incremental.038: o1 eval "info exists :va" ok properties/object-level-incremental.039: o1 eval "info exists :vb" ok properties/object-level-incremental.040: o1 eval "info exists :vc" ok properties/object-level-incremental.041: o1 eval "info exists :vd" ok properties/object-level-incremental.042: o1 a get ok properties/object-level-incremental.043: o1 b get ok Warning: '::o1 c' fails since method ::o1.c is protected properties/object-level-incremental.044: o1 c ok properties/object-level-incremental.045: o1 d ok properties/object-level-incremental.046: o1 eval ":a get" ok properties/object-level-incremental.047: o1 eval ":b get" ok properties/object-level-incremental.048: o1 eval ":c get" ok properties/object-level-incremental.049: o1 eval ":d" ok properties/object-level-incremental.050: o1 va get ok properties/object-level-incremental.051: o1 vb get ok Warning: '::o1 vc' fails since method ::o1.vc is protected properties/object-level-incremental.052: o1 vc ok properties/object-level-incremental.053: o1 vd ok properties/object-level-incremental.054: o1 eval ":va get" ok properties/object-level-incremental.055: o1 eval ":vb get" ok properties/object-level-incremental.056: o1 eval ":vc get" ok properties/object-level-incremental.057: o1 eval ":vd" ok properties/object-level-incremental.058: o1 call-local d ok properties/object-level-incremental.059: o1 call-local vd ok properties/object-level-incremental.060: lsort [o1 info vars] ok properties/object-level-incremental.061: o1 eval "array get :__private" ok properties/object-level-incremental.062: o1 a add x ok properties/object-level-incremental.063: o1 b add x ok Warning: '::o1 c' fails since method ::o1.c is protected properties/object-level-incremental.064: o1 c add x ok properties/object-level-incremental.065: o1 eval {:c add x} ok properties/object-level-incremental.066: o1 d add x ok properties/object-level-incremental.067: o1 eval {:d add x} ok properties/object-level-incremental.068: o1 add-local d x ok properties/object-level-incremental.069: o1 e add x ok properties/object-level-incremental.070: o1 va add x ok properties/object-level-incremental.071: o1 vb add x ok Warning: '::o1 vc' fails since method ::o1.vc is protected properties/object-level-incremental.072: o1 vc add x ok properties/object-level-incremental.073: o1 eval {:vc add x} ok properties/object-level-incremental.074: o1 vd add x ok properties/object-level-incremental.075: o1 eval {:vd add x} ok properties/object-level-incremental.076: o1 add-local vd x ok properties/object-level-incremental.077: o1 ve add x ok properties/object-level-incremental.078: o1 info object method definition b ok properties/object-level-incremental.079: o1 object property -accessor proceted {b b1} ok properties/object-level-incremental.080: o1 info object method definition b ok notice: Running test case: ./tests/properties.test property-incremental-multiplicity properties/property-incremental-multiplicity.001: o1 info object slots a ok properties/property-incremental-multiplicity.002: [o1 info object slots a] eval {set :multiplicity} ok properties/property-incremental-multiplicity.003: [o1 info object slots b] eval {set :multiplicity} ok properties/property-incremental-multiplicity.004: [o1 info object slots c] eval {set :multiplicity} ok properties/property-incremental-multiplicity.005: [o1 info object slots d] eval {set :multiplicity} ok properties/property-incremental-multiplicity.006: o1 info variable definition [o1 info object variables a] ok properties/property-incremental-multiplicity.007: o1 info variable definition [o1 info object variables b] ok properties/property-incremental-multiplicity.008: o1 info variable definition [o1 info object variables c] ok properties/property-incremental-multiplicity.009: o1 info variable definition [o1 info object variables d] ok properties/property-incremental-multiplicity.010: o1 a set {1 2 3} ok properties/property-incremental-multiplicity.011: o1 b set {1 2 3} ok properties/property-incremental-multiplicity.012: o1 a set "" ok properties/property-incremental-multiplicity.013: o1 b set "" ok properties/property-incremental-multiplicity.014: o1 c set "" ok properties/property-incremental-multiplicity.015: o1 d set "" ok notice: Running test case: ./tests/properties.test class-object-properties properties/class-object-properties.001: c1 info lookup syntax configure ok properties/class-object-properties.002: c1 cget -a ok properties/class-object-properties.003: c1 configure -a a2 ok properties/class-object-properties.004: C info lookup syntax configure ok properties/class-object-properties.005: C cget -b ok properties/class-object-properties.006: C configure -b b2 ok properties/class-object-properties.007: C cget -b ok notice: Running test case: ./tests/properties.test exists-on-props properties/exists-on-props.001: ::C A exists ok properties/exists-on-props.002: ::c1 a exists ok properties/exists-on-props.003: ::C B exists ok properties/exists-on-props.004: ::c1 b exists ok properties/exists-on-props.005: ::C B get ok properties/exists-on-props.006: ::c1 b get ok properties/exists-on-props.007: ::C BB exists ok properties/exists-on-props.008: ::c1 bb exists ok properties/exists-on-props.009: ::C do C exists ok properties/exists-on-props.010: ::C eval {info exists :C} ok properties/exists-on-props.011: ::c1 do c exists ok properties/exists-on-props.012: ::c1 eval {info exists :c} ok properties/exists-on-props.013: ::C do C unset ok properties/exists-on-props.014: ::c1 do c unset ok properties/exists-on-props.015: ::C do C exists ok properties/exists-on-props.016: ::C eval {info exists :C} ok properties/exists-on-props.017: ::c1 do c exists ok properties/exists-on-props.018: ::c1 eval {info exists :c} ok properties/exists-on-props.019: ::C doLocal D exists ok properties/exists-on-props.020: ::c1 doLocal d exists ok properties/exists-on-props.021: ::C doLocal D unset ok properties/exists-on-props.022: ::c1 doLocal d unset ok properties/exists-on-props.023: ::C doLocal D exists ok properties/exists-on-props.024: ::c1 doLocal d exists ok properties/exists-on-props.025: ::C D exists ok properties/exists-on-props.026: ::c1 d exists ok notice: Running test case: ./tests/properties.test class-level-perf properties/class-level-perf.001: 5.54 mms, c1 info lookup syntax configure speedtest/test.118: 0.99 mms, call incr via forward speedtest/test.119: 1.58 mms, call obj with namespace via forward speedtest/test.120: 1.57 mms, call obj with namespace via instforward speedtest/test.121: 1.60 mms, call obj with namespace via instforward and mixinclass properties/class-level-perf.002: 8.82 mms, C eval :__object_configureparameter properties/class-level-perf.003: 0.83 mms, c1 cget -a speedtest/test.122: 2.29 mms, call obj with namespace via instforward and next from proc properties/class-level-perf.004: 1.95 mms, c1 configure -a a2 properties/class-level-perf.005: 1.98 mms, C configure -class ::nx::Class speedtest/test.123: 3.42 mms, call obj with namespace via instforward and next from instproc properties/class-level-perf.006: 1.07 mms, C cget -class properties/class-level-perf.007: 0.99 mms, C cget -mixin speedtest/test.124: 2.34 mms, call obj with namespace via mixin and instforward and next speedtest/test.125: 2.00 mms, return -code break speedtest/test.126: 13.50 mms, volatile + new overloaded speedtest/test.127: 13.00 mms, volatile + next overloaded + proc speedtest/test.128: 31.50 mms, volatile + configure overloaded speedtest/test.129: 33.50 mms, volatile + configure overloaded + proc speedtest/test.130: 12.50 mms, volatile + new overloaded + mixin + proc speedtest/test.131: 6.00 mms, dict external speedtest/test.132: 2.00 mms, dict resolver speedtest/test.133: autonamed property + overloaded create ok Total Time: 857 ms properties/class-level-perf.008: 1.01 mms, C cget -filter Summary: Test-set speedtest tests 133 success 133 failure 0 ms 857 TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 ./library/xotcl/tests/testx.xotcl -libdir `echo ./unix` -testlog ./__test.log properties/class-level-perf.009: 1.19 mms, C cget -volatile XOTcl - Test ::assertions: start ::assertions PASSED ::condMixins: start ::condMixins PASSED ::copymove: start properties/class-level-perf.010: 5.55 mms, d1 info lookup syntax configure pre: puts starting... starting... run: SimpleRequest r0 -url http://localhost:8086/logo-100.jpg ::copymove PASSED ::copymove2: start ::copymove2 PASSED ::filterAddRemove: start running test 1 times xocomm/test.001: Trying to load image logo-100.jpg ... ok ::filterAddRemove PASSED ::filterClassChange: start xocomm/test.002: Trying to PUT a file on web-server ... ok ::filterClassChange PASSED ::filterGuards: start Error in method destroy: TCL PARSE EXPR MISSING missing operator at _@_ in expression "1 _@_2 3" (parsing expression "1 2 3") ::b ::B->f1 Error in method destroy: TCL PARSE EXPR BAREWORD invalid bareword "a" in expression "a b"; should be "$a" or "{a}" or "a(...)" or ... (parsing expression "a b") invoked from within "next " (procedure "destroy" line 1) ::b ::B->f01 properties/class-level-perf.011: 9.37 mms, D eval :__object_configureparameter ::filterGuards PASSED ::filterInfo: start ::filterInfo PASSED ::filterSimpleObserver: start properties/class-level-perf.012: 0.83 mms, d1 cget -a xocomm/test.003: And download it again ... ok xocomm/test.004: Get protected resource ... ok xocomm/test.005: terminate ok Total Time: 107 ms Summary: Test-set xocomm tests 5 success 5 failure 0 ms 107 properties/class-level-perf.013: 1.96 mms, d1 configure -a a2 ::filterSimpleObserver PASSED ::init_params: start Warning: Arguments 't' to constructor of object ::a are most likely not processed Warning: Arguments 't' to constructor of object ::a are most likely not processed Warning: Arguments 't' to constructor of object ::a are most likely not processed Warning: Arguments 't' to constructor of object ::a are most likely not processed Warning: Arguments 't' to constructor of object ::a are most likely not processed Warning: Arguments 't' to constructor of object ::a are most likely not processed Warning: Arguments 't' to constructor of object ::a are most likely not processed Warning: Arguments 't' to constructor of object ::a are most likely not processed Warning: Arguments 't' to constructor of object ::a are most likely not processed Warning: Arguments 't' to constructor of object ::a are most likely not processed Warning: Arguments 't' to constructor of object ::a are most likely not processed Warning: Arguments 't' to constructor of object ::a are most likely not processed Warning: Arguments 't' to constructor of object ::a are most likely not processed Warning: Arguments 't' to constructor of object ::a are most likely not processed Warning: Arguments 't' to constructor of object ::a are most likely not processed Warning: Arguments 't' to constructor of object ::a are most likely not processed Warning: Arguments 't' to constructor of object ::a are most likely not processed Warning: Arguments 't' to constructor of object ::a are most likely not processed Warning: Arguments 't' to constructor of object ::a are most likely not processed Warning: Arguments 't' to constructor of object ::a are most likely not processed properties/class-level-perf.014: 2.18 mms, D configure -class ::nx::Class properties/class-level-perf.015: 1.08 mms, D cget -class ::init_params PASSED ::metaClassAsMixin: start ::metaClassAsMixin PASSED ::mixinGuards: start ::mixinGuards PASSED ::mixinInheritanceTest: start properties/class-level-perf.016: 0.92 mms, D cget -cp ::mixinInheritanceTest PASSED ::mixinTest: start properties/class-level-perf.017: 1.13 mms, D configure -cp 102 ::mixinTest PASSED ::namespaceCommands: start ::namespaceCommands PASSED ::nestingClasses: start properties/class-level-perf.018: 0.91 mms, D cget -cp notice: Running test case: ./tests/properties.test object-level-perf ::nestingClasses PASSED ::nestingObjects: start ::nestingObjects PASSED ::nextTest: start ::nextTest PASSED ::nonposargs: start ::nonposargs PASSED ::objectReferences: start Notice: Don't invoke object ::a this way. Register object via alias ... Notice: Don't invoke object ::c this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::a this way. Register object via alias ... Notice: Don't invoke object ::b this way. Register object via alias ... Notice: Don't invoke object ::c this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::a this way. Register object via alias ... Notice: Don't invoke object ::b this way. Register object via alias ... Notice: Don't invoke object ::c this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::a this way. Register object via alias ... Notice: Don't invoke object ::b this way. Register object via alias ... Notice: Don't invoke object ::c this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::a this way. Register object via alias ... Notice: Don't invoke object ::b this way. Register object via alias ... Notice: Don't invoke object ::c this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::a this way. Register object via alias ... Notice: Don't invoke object ::b this way. Register object via alias ... Notice: Don't invoke object ::c this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::a this way. Register object via alias ... Notice: Don't invoke object ::b this way. Register object via alias ... Notice: Don't invoke object ::c this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::a this way. Register object via alias ... Notice: Don't invoke object ::b this way. Register object via alias ... Notice: Don't invoke object ::c this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::a this way. Register object via alias ... Notice: Don't invoke object ::b this way. Register object via alias ... Notice: Don't invoke object ::c this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::a this way. Register object via alias ... Notice: Don't invoke object ::b this way. Register object via alias ... Notice: Don't invoke object ::c this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::a this way. Register object via alias ... Notice: Don't invoke object ::b this way. Register object via alias ... Notice: Don't invoke object ::c this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::a this way. Register object via alias ... Notice: Don't invoke object ::b this way. Register object via alias ... Notice: Don't invoke object ::c this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::a this way. Register object via alias ... Notice: Don't invoke object ::b this way. Register object via alias ... Notice: Don't invoke object ::c this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::a this way. Register object via alias ... Notice: Don't invoke object ::b this way. Register object via alias ... Notice: Don't invoke object ::c this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::a this way. Register object via alias ... Notice: Don't invoke object ::b this way. Register object via alias ... Notice: Don't invoke object ::c this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::a this way. Register object via alias ... Notice: Don't invoke object ::b this way. Register object via alias ... Notice: Don't invoke object ::c this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::a this way. Register object via alias ... Notice: Don't invoke object ::b this way. Register object via alias ... Notice: Don't invoke object ::c this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::a this way. Register object via alias ... Notice: Don't invoke object ::b this way. Register object via alias ... Notice: Don't invoke object ::c this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::a this way. Register object via alias ... Notice: Don't invoke object ::b this way. Register object via alias ... Notice: Don't invoke object ::c this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... Notice: Don't invoke object ::AAA this way. Register object via alias ... ::objectReferences PASSED ::procsearchTest: start ::procsearchTest PASSED ::recreation: start Warning: cycle in the mixin graph list detected for class ::xotcl::Object Warning: cycle in the mixin graph list detected for class ::xotcl::Object Warning: cycle in the mixin graph list detected for class ::xotcl::Object Warning: cycle in the mixin graph list detected for class ::xotcl::Object Warning: cycle in the mixin graph list detected for class ::xotcl::Object Warning: cycle in the mixin graph list detected for class ::xotcl::Object Warning: cycle in the mixin graph list detected for class ::xotcl::Object Warning: cycle in the mixin graph list detected for class ::xotcl::Object properties/object-level-perf.001: 5.68 mms, o1 info lookup syntax configure Warning: cycle in the mixin graph list detected for class ::xotcl::Object ::recreation PASSED ::smallScripts: start properties/object-level-perf.002: 9.94 mms, o1 eval :__object_configureparameter properties/object-level-perf.003: 0.93 mms, o1 cget -a properties/object-level-perf.004: 2.42 mms, o1 configure -a a2 ::smallScripts PASSED ::stdargs: start ::stdargs PASSED ::uplevelCmds: start properties/object-level-perf.005: 1.38 mms, o1 b get ::uplevelCmds PASSED ::volatileObjects: start ::volatileObjects PASSED Time used: 425839 microseconds per iteration PASSED ::topLevelCommands TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 ./library/xotcl/tests/slottest.xotcl -libdir `echo ./unix` -testlog ./__test.log properties/object-level-perf.006: 1.41 mms, o1 b set b2 properties/object-level-perf.007: 3.29 mms, o1 configure -class ::nx::Object slottest/test.001: 1.13 mms, c1 info vars x slottest/test.002: 0.85 mms, c1 x slottest/test.003: 1.17 mms, c1 info vars x slottest/test.004: 1.11 mms, c1 info vars y slottest/test.005: 0.84 mms, c1 y slottest/test.006: 0.81 mms, c1 set x slottest/test.007: 0.73 mms, set ::hu OK self OK namespace current slottest/test.008: 0.81 mms, c1 set x properties/object-level-perf.008: 1.08 mms, o1 cget -class notice: Running test case: ./tests/properties.test extend-parent-class-info slottest/test.009: 2.81 mms, c1 z slottest/test.010: 2.68 mms, c1 z slottest/test.011: 0.84 mms, c1 y slottest/test.012: 0.77 mms, set ::hu slottest/test.013: 1.34 mms, O mixin slottest/test.014: 19.68 mms, catch {Object o -mixin check1 M} slottest/test.015: 1.35 mms, O mixin slottest/test.016: 1.40 mms, O mixin slottest/test.017: 1.35 mms, O mixin slottest/test.018: 1.24 mms, O mixin slottest/test.019: 1.35 mms, O mixin slottest/test.020: 1.42 mms, O mixin "" slottest/test.021: 0.92 mms, ::nx::RelationSlot info class slottest/test.022: 1.24 mms, o1 class slottest/test.023: 1.22 mms, o1 class properties/extend-parent-class-info.001: 4.13 mms, llength [Bar info lookup parameters create] slottest/test.024: 4.13 mms, o1 __object_configureparameter slottest/test.025: 7.32 mms, Object __object_configureparameter slottest/test.026: o1 class add M ok slottest/test.027: 1.38 mms, O superclass slottest/test.028: 1.33 mms, O superclass slottest/test.029: 2.85 mms, O ::nsf::methods::object::info::lookupslots superclass slottest/test.030: 0.80 mms, ::xotcl::Class::slot::superclass cget -domain slottest/test.031: 1.32 mms, O2 superclass slottest/test.032: 1.40 mms, O2 superclass slottest/test.033: 1.33 mms, O2 superclass notice: Running test case: ./library/xotcl/tests/slottest.xotcl info-default slottest/info-default.001: 6.55 mms, ::Test info default m0 y default0 slottest/info-default.002: 0.69 mms, info exists default0 slottest/info-default.003: 6.50 mms, ::Test info default m0 x default1 properties/extend-parent-class-info.002: 4.11 mms, llength [Bar info lookup parameters create]slottest/info-default.004: 6.54 mms, ::Test info instdefault m1 y default0 notice: Running test case: ./tests/properties.test extend-parent-class-info-cache slottest/info-default.005: 0.69 mms, info exists default0 slottest/info-default.006: 6.52 mms, ::Test info instdefault m1 x default1 notice: Running test case: ./library/xotcl/tests/slottest.xotcl info-slots-heritage slottest/info-slots-heritage.001: 2.09 mms, C info heritage slottest/info-slots-heritage.002: 2.11 mms, D info heritage slottest/info-slots-heritage.003: 0.96 mms, C info superclass -closure slottest/info-slots-heritage.004: 0.97 mms, D info superclass -closure slottest/info-slots-heritage.005: 2.10 mms, D info heritage slottest/info-slots-heritage.006: 1.31 mms, C info slots slottest/info-slots-heritage.007: 1.33 mms, D info slots slottest/info-slots-heritage.008: 1.90 mms, D info slots -closure -source application ::nsf::object::alloc ::xotcl::Class ::Person {set :__default_metaclass ::xotcl::Class set :__default_superclass ::xotcl::Object} ::Person instparametercmd age ::Person instparametercmd name ::nx::slotObj -container slot ::Person ::nsf::object::alloc ::xotcl::Attribute ::Person::slot::name {set :accessor public set :configurable true set :convert false set :defaultmethods {} set :disposition alias set :domain ::Person set :incremental false set :manager ::Person::slot::name set :methodname name set :multiplicity 1..1 set :name name set :per-object false set :position 0 set :required false set :trace none : init} ::nsf::object::alloc ::xotcl::Attribute ::Person::slot::age {set :accessor public set :configurable true set :convert false set :default 0 set :defaultmethods {} set :disposition alias set :domain ::Person set :incremental false set :manager ::Person::slot::age set :methodname age set :multiplicity 1..1 set :name age set :per-object false set :position 0 set :required false set :substdefault 0b111 set :trace none : init} slottest/info-slots-heritage.009: 0.82 mms, Person::slot::name cget -default slottest/info-slots-heritage.010: 0.84 mms, p1 name slottest/info-slots-heritage.011: 0.85 mms, p1 age slottest/info-slots-heritage.012: 0.85 mms, p1 age slottest/info-slots-heritage.013: 0.96 mms, method incr slottest/info-slots-heritage.014: 0.96 mms, aliased tcl incr slottest/info-slots-heritage.015: 0.96 mms, method incr slottest/info-slots-heritage.016: 0.94 mms, aliased tcl incr slottest/info-slots-heritage.017: 0.89 mms, method set slottest/info-slots-heritage.018: 0.88 mms, method set slottest/info-slots-heritage.019: 0.90 mms, aliased tcl set slottest/info-slots-heritage.020: 0.89 mms, aliased tcl set slottest/info-slots-heritage.021: 0.87 mms, aliased object tcl set slottest/info-slots-heritage.022: 0.87 mms, aliased object tcl set slottest/info-slots-heritage.023: 0.89 mms, forward earlybinding tcl set slottest/info-slots-heritage.024: 0.90 mms, forward earlybinding tcl set properties/extend-parent-class-info-cache.001: 4.09 mms, llength [Bar info lookup parameters create] slottest/info-slots-heritage.025: 4.37 mms, ::xotcl::Object info instforward -definition SSet slottest/info-slots-heritage.026: 4.95 mms, o1 info forward slottest/info-slots-heritage.027: 1.07 mms, o1 get z 101 slottest/info-slots-heritage.028: 1.07 mms, o1 get z slottest/info-slots-heritage.029: 1.05 mms, get value via new parametercmd get slottest/info-slots-heritage.030: 1.06 mms, set value via new parametercmd get slottest/info-slots-heritage.031: 1.17 mms, o1 zz 123 slottest/info-slots-heritage.032: 1.15 mms, o1 zz slottest/info-slots-heritage.033: 1.16 mms, parametercmd forward earlybinding setinstvar slottest/info-slots-heritage.034: 1.22 mms, parametercmd forward earlybinding setinstvar slottest/info-slots-heritage.035: 1.05 mms, parametercmd forward earlybinding tcl set slottest/info-slots-heritage.036: 1.02 mms, parametercmd forward earlybinding tcl set slottest/info-slots-heritage.037: 1.10 mms, parametercmd forward tcl set slottest/info-slots-heritage.038: 1.08 mms, parametercmd forward tcl set slottest/info-slots-heritage.039: 0.89 mms, parametercmd slottest/info-slots-heritage.040: 0.90 mms, parametercmd slottest/info-slots-heritage.041: 0.84 mms, c1 a slottest/info-slots-heritage.042: 0.84 mms, c1 b slottest/info-slots-heritage.043: 0.84 mms, c1 c slottest/info-slots-heritage.044: 4.88 mms, c2 procsearch a slottest/info-slots-heritage.045: 0.84 mms, c2 a slottest/info-slots-heritage.046: 0.83 mms, c2 b slottest/info-slots-heritage.047: 0.83 mms, c2 c slottest/info-slots-heritage.048: 0.82 mms, new indirect parametercmd slottest/info-slots-heritage.049: 0.81 mms, new indirect parametercmd slottest/info-slots-heritage.050: 4.83 mms, c3 procsearch a properties/extend-parent-class-info-cache.002: 4.16 mms, llength [Bar info lookup parameters create] notice: Running test case: ./tests/properties.test extend-parent-class-info-cache-configure slottest/info-slots-heritage.051: 0.82 mms, c3 a slottest/info-slots-heritage.052: 0.82 mms, c3 b slottest/info-slots-heritage.053: 0.82 mms, c3 c slottest/info-slots-heritage.054: 0.81 mms, new indirect parametercmd optimized slottest/info-slots-heritage.055: 0.82 mms, new indirect parametercmd optimized slottest/info-slots-heritage.056: 5.12 mms, a0 procsearch f1 slottest/info-slots-heritage.057: 5.08 mms, a0 procsearch f2 slottest/info-slots-heritage.058: 4.64 mms, a0 procsearch f3 slottest/info-slots-heritage.059: 4.52 mms, a0 procsearch f4 slottest/info-slots-heritage.060: 6.01 mms, a0 procsearch set slottest/info-slots-heritage.061: 1.15 mms, A::slot::foo info lookup method value=set slottest/info-slots-heritage.062: 0.84 mms, a1 foo notice: Running test case: ./library/xotcl/tests/slottest.xotcl req-param slottest/req-param.001: C create c2 -y 1 -x ok slottest/req-param.002: 0.75 mms, set ::_ slottest/req-param.003: 1.32 mms, ::nsf::is object c2 slottest/req-param.004: 2.19 mms, C create c3 -y 1 -x 0 slottest/req-param.005: 0.77 mms, set ::_ slottest/req-param.006: 0.86 mms, c3 x notice: Running test case: ./library/xotcl/tests/slottest.xotcl app-slots slottest/app-slots.001: 0.85 mms, p1 name slottest/app-slots.002: 0.84 mms, p1 age properties/extend-parent-class-info-cache-configure.001: 4.15 mms, llength [Bar info lookup parameters create] slottest/app-slots.003: 1.35 mms, p1 projects slottest/app-slots.004: 1.40 mms, p1 projects slottest/app-slots.005: p2 projects add ::o1 ok properties/extend-parent-class-info-cache-configure.002: 0.95 mms, b1 configure -y 2 slottest/app-slots.006: 6.63 mms, catch {p2 salary 100.9} notice: Running test case: ./tests/properties.test extend-class-mixin-info slottest/app-slots.007: 0.86 mms, p2 salary slottest/app-slots.008: 0.84 mms, p2 salary slottest/app-slots.009: 0.86 mms, p2 salary slottest/app-slots.010: 0.83 mms, p3 sex slottest/app-slots.011: 1.56 mms, p3 foo male slottest/app-slots.012: 1.42 mms, p3 sex male notice: Running test case: ./library/xotcl/tests/slottest.xotcl defaultcmd slottest/defaultcmd.001: 1.39 mms, c1 info vars slottest/defaultcmd.002: 0.81 mms, c1 set x slottest/defaultcmd.003: 1.42 mms, c1 info vars slottest/defaultcmd.004: 0.72 mms, set ::hu 1 notice: Running test case: ./library/xotcl/tests/slottest.xotcl nested-contains slottest/nested-contains.001: 0.92 mms, r0 color slottest/nested-contains.002: 0.94 mms, r0::r1 color slottest/nested-contains.003: 0.82 mms, r0::r1::x1 x slottest/nested-contains.004: 0.84 mms, r0::r1::x2 y slottest/nested-contains.005: 0.93 mms, r0::r2 color notice: Running test case: ./library/xotcl/tests/slottest.xotcl assign-via-slots slottest/assign-via-slots.001: 1.62 mms, a1 foo 10 slottest/assign-via-slots.002: 1.65 mms, a1 foo 20 slottest/assign-via-slots.003: 1.40 mms, a1 foo slottest/assign-via-slots.004: a1 foo -1 ok slottest/assign-via-slots.005: 7.42 mms, catch {a1 foo -1} slottest/assign-via-slots.006: a1 foo 100 ok slottest/assign-via-slots.007: 1.62 mms, a1 foo 99 slottest/assign-via-slots.008: 1.09 mms, llength [$x info children] slottest/assign-via-slots.009: 1.71 mms, llength [[lindex [lsort [$x info children]] 0] info children] slottest/assign-via-slots.010: 1.86 mms, llength [[lindex [lsort [$x info children]] 1] info children] slottest/assign-via-slots.011: 1.68 mms, llength [[lindex [lsort [$x info children]] 2] info children] properties/extend-class-mixin-info.001: 4.17 mms, llength [Bar info lookup parameters create] slottest/assign-via-slots.012: 15.21 mms, Fred create x slottest/assign-via-slots.013: 0.85 mms, x attr1 4 slottest/assign-via-slots.014: 0.87 mms, y attr1 notice: Running test case: ./library/xotcl/tests/slottest.xotcl slots-compat slottest/slots-compat.001: 1.62 mms, lsort [Window info slots] slottest/slots-compat.002: 1.78 mms, lsort [Person info slots] slottest/slots-compat.003: 2.01 mms, Person::slot::name multivalued get slottest/slots-compat.004: 1.99 mms, Person::slot::salary multivalued get slottest/slots-compat.005: 2.01 mms, Person::slot::projects multivalued get slottest/slots-compat.006: 0.84 mms, p2 name slottest/slots-compat.007: 0.87 mms, p2 salary slottest/slots-compat.008: 1.35 mms, p2 projects slottest/slots-compat.009: 1.72 mms, lsort [p2 projects] slottest/slots-compat.010: 1.67 mms, lsort [p2 projects] slottest/slots-compat.011: 3.81 mms, catch {p2 name add BOOM!} slottest/slots-compat.012: 0.85 mms, p2 name slottest/slots-compat.013: 1.66 mms, aa1 foo 10 slottest/slots-compat.014: 1.36 mms, aa1 foo properties/extend-class-mixin-info.002: 4.14 mms, llength [Bar info lookup parameters create] slottest/slots-compat.015: 7.42 mms, catch {aa1 foo -1} notice: Running test case: ./library/xotcl/tests/slottest.xotcl nx-serialize-debug-deprecated slottest/nx-serialize-debug-deprecated.001: 0.82 mms, ::nsf::method::property o ofoo deprecated slottest/nx-serialize-debug-deprecated.002: 0.83 mms, ::nsf::method::property o ofoo debug slottest/nx-serialize-debug-deprecated.003: 0.83 mms, ::nsf::method::property o obar deprecated slottest/nx-serialize-debug-deprecated.004: 0.81 mms, ::nsf::method::property o obar debug slottest/nx-serialize-debug-deprecated.005: 1.00 mms, ::nsf::method::property o ofoo deprecated slottest/nx-serialize-debug-deprecated.006: 0.81 mms, ::nsf::method::property o ofoo debug slottest/nx-serialize-debug-deprecated.007: 0.81 mms, ::nsf::method::property o obar deprecated slottest/nx-serialize-debug-deprecated.008: 0.82 mms, ::nsf::method::property o obar debug slottest/nx-serialize-debug-deprecated.009: 0.73 mms, ::nsf::object::exists ::o slottest/nx-serialize-debug-deprecated.010: 0.82 mms, ::nsf::method::property o ofoo deprecated slottest/nx-serialize-debug-deprecated.011: 0.83 mms, ::nsf::method::property o ofoo debug slottest/nx-serialize-debug-deprecated.012: 0.82 mms, ::nsf::method::property o obar deprecated slottest/nx-serialize-debug-deprecated.013: 0.82 mms, ::nsf::method::property o obar debug notice: Running test case: ./library/xotcl/tests/slottest.xotcl nx-returns+serialize slottest/nx-returns+serialize.001: 6.47 mms, Context instproc default_form_loader {arg} -returns integer { return $arg } slottest/nx-returns+serialize.002: 0.95 mms, c default_form_loader 0 slottest/nx-returns+serialize.003: c default_form_loader "" ok slottest/nx-returns+serialize.004: 12.82 mms, eval $::string slottest/nx-returns+serialize.005: 0.89 mms, c default_form_loader 0 slottest/nx-returns+serialize.006: c default_form_loader "" ok notice: Running test case: ./library/xotcl/tests/slottest.xotcl nx-serialize-param-overload slottest/nx-serialize-param-overload.001: 0.88 mms, c1 p properties/extend-class-mixin-info.003: 4.19 mms, llength [Bar info lookup parameters create] slottest/nx-serialize-param-overload.002: 0.81 mms, expr {[string length $::stringC] > 100} properties/extend-class-mixin-info.004: 4.22 mms, llength [Bar info lookup parameters create] slottest/nx-serialize-param-overload.003: 55.20 mms, catch {eval $::stringC} slottest/nx-serialize-param-overload.004: 0.88 mms, c1 p slottest/nx-serialize-param-overload.005: 0.92 mms, p1 salary properties/extend-class-mixin-info.005: 4.17 mms, llength [Bar info lookup parameters create] notice: Running test case: ./tests/properties.test extend-class-mixin-configure properties/extend-class-mixin-configure.001: 0.91 mms, bar cget -y properties/extend-class-mixin-configure.002: 0.89 mms, bar cget -z properties/extend-class-mixin-configure.003: 0.90 mms, bar cget -y slottest/nx-serialize-param-overload.006: 58.72 mms, catch {eval $::stringP} slottest/nx-serialize-param-overload.007: 1.12 mms, p1 salary Summary: Test-set slottest tests 183 success 183 failure 0 ms 453 properties/extend-class-mixin-configure.004: 0.90 mms, bar cget -w notice: Running test case: ./tests/properties.test dynamic-transitive-mixin-info properties/dynamic-transitive-mixin-info.001: 4.10 mms, llength [Bar info lookup parameters create] properties/dynamic-transitive-mixin-info.002: 4.10 mms, llength [Bar info lookup parameters create] properties/dynamic-transitive-mixin-info.003: 4.20 mms, llength [Bar info lookup parameters create] properties/dynamic-transitive-mixin-info.004: 1.05 mms, bar configure -y 1 properties/dynamic-transitive-mixin-info.005: 4.11 mms, llength [Baz info lookup parameters create] properties/dynamic-transitive-mixin-info.006: 4.15 mms, llength [Baz info lookup parameters create] properties/dynamic-transitive-mixin-info.007: 4.19 mms, llength [Baz info lookup parameters create] properties/dynamic-transitive-mixin-info.008: 1.08 mms, baz configure -z 1 properties/dynamic-transitive-mixin-info.009: 1.01 mms, bar configure -z 1 notice: Running test case: ./tests/properties.test indirect-transitive-mixin-info properties/indirect-transitive-mixin-info.001: lmap p [C info lookup parameters create] {nsf::parameter::info name $p} ok properties/indirect-transitive-mixin-info.002: set _ 5 ok properties/indirect-transitive-mixin-info.003: llength [C info lookup parameters create] ok properties/indirect-transitive-mixin-info.004: llength [D info lookup parameters create] ok properties/indirect-transitive-mixin-info.005: llength [M0 info lookup parameters create] ok properties/indirect-transitive-mixin-info.006: llength [M1 info lookup parameters create] ok properties/indirect-transitive-mixin-info.007: llength [M2 info lookup parameters create] ok properties/indirect-transitive-mixin-info.008: llength [M0 info lookup parameters create] ok properties/indirect-transitive-mixin-info.009: llength [M1 info lookup parameters create] ok properties/indirect-transitive-mixin-info.010: llength [M2 info lookup parameters create] ok properties/indirect-transitive-mixin-info.011: c1 foo ok properties/indirect-transitive-mixin-info.012: d1 foo ok properties/indirect-transitive-mixin-info.013: c1 info precedence ok properties/indirect-transitive-mixin-info.014: d1 info precedence ok properties/indirect-transitive-mixin-info.015: C info subclasses -dependent ok properties/indirect-transitive-mixin-info.016: C info subclasses -closure ok properties/indirect-transitive-mixin-info.017: M0 info subclasses -dependent ok properties/indirect-transitive-mixin-info.018: M0 info subclasses -closure ok properties/indirect-transitive-mixin-info.019: c1 foo ok properties/indirect-transitive-mixin-info.020: d1 foo ok properties/indirect-transitive-mixin-info.021: c1 info precedence ok properties/indirect-transitive-mixin-info.022: d1 info precedence ok properties/indirect-transitive-mixin-info.023: C info heritage ok properties/indirect-transitive-mixin-info.024: D info heritage ok properties/indirect-transitive-mixin-info.025: C info subclasses -dependent ok properties/indirect-transitive-mixin-info.026: C info subclasses -closure ok properties/indirect-transitive-mixin-info.027: M0 info subclasses -dependent ok properties/indirect-transitive-mixin-info.028: M0 info subclasses -closure ok properties/indirect-transitive-mixin-info.029: M2 info mixinof ok properties/indirect-transitive-mixin-info.030: M2 info mixinof -closure ok properties/indirect-transitive-mixin-info.031: M1 info mixinof ok properties/indirect-transitive-mixin-info.032: M1 info mixinof -closure ok properties/indirect-transitive-mixin-info.033: M0 info mixinof ok properties/indirect-transitive-mixin-info.034: M0 info mixinof -closure ok properties/indirect-transitive-mixin-info.035: lmap p [C info lookup parameters create] {nsf::parameter::info name $p} ok properties/indirect-transitive-mixin-info.036: llength [C info lookup parameters create] ok properties/indirect-transitive-mixin-info.037: llength [D info lookup parameters create] ok properties/indirect-transitive-mixin-info.038: C info heritage ok properties/indirect-transitive-mixin-info.039: lmap p [C info lookup parameters create] {nsf::parameter::info name $p} ok properties/indirect-transitive-mixin-info.040: lmap p [M0 info lookup parameters create] {nsf::parameter::info name $p} ok properties/indirect-transitive-mixin-info.041: lmap p [M1 info lookup parameters create] {nsf::parameter::info name $p} ok properties/indirect-transitive-mixin-info.042: llength [C info lookup parameters create] ok properties/indirect-transitive-mixin-info.043: llength [D info lookup parameters create] ok properties/indirect-transitive-mixin-info.044: llength [M0 info lookup parameters create] ok properties/indirect-transitive-mixin-info.045: llength [M1 info lookup parameters create] ok properties/indirect-transitive-mixin-info.046: llength [M2 info lookup parameters create] ok properties/indirect-transitive-mixin-info.047: c1 foo ok properties/indirect-transitive-mixin-info.048: d1 foo ok properties/indirect-transitive-mixin-info.049: c1 info precedence ok properties/indirect-transitive-mixin-info.050: d1 info precedence ok notice: Running test case: ./tests/properties.test bug-clt-configurable-false-cget properties/bug-clt-configurable-false-cget.001: string match {invalid non-positional argument '-nix', *} {invalid non-positional argument '-nix', valid are: -object-mixins, -object-filters, -class; should be "::d configure ?-object-mixins /mixinreg .../? ?-object-filters /filterreg .../? ?-class /class/? ?/__initblock/?" ::d ::nx::Object->configure invoked from within "d configure $flag anix"} ok Summary: Test-set properties tests 481 success 481 failure 0 ms 1486 TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./tests`/var-access.test -libdir `echo ./unix` -testlog ./__test.log notice: Running test case: ./tests/var-access.test set+array var-access/set+array.001: nsf::var::set o1 x 100 ok var-access/set+array.002: nsf::var::set o1 x ok var-access/set+array.003: nsf::var::set -array o1 a {a 1 y 2} ok var-access/set+array.004: nsf::var::set -array o1 a ok var-access/set+array.005: lsort [o1 info vars] ok var-access/set+array.006: nsf::var::exists o1 x ok var-access/set+array.007: nsf::var::exists -array o1 x ok var-access/set+array.008: nsf::var::exists -array o1 a ok var-access/set+array.009: nsf::var::exists o1 a ok var-access/set+array.010: nsf::var::unset o1 a ok var-access/set+array.011: nsf::var::exists o1 a ok var-access/set+array.012: nsf::var::exists -array o1 a ok var-access/set+array.013: o1 info vars ok var-access/set+array.014: nsf::var::exists o1 x ok var-access/set+array.015: nsf::var::exists -array o1 x ok var-access/set+array.016: nsf::var::unset o1 x ok var-access/set+array.017: nsf::var::exists o1 x ok var-access/set+array.018: nsf::var::exists -array o1 x ok var-access/set+array.019 hint: we could compare with errorCode: TCL LOOKUP VARNAME x var-access/set+array.019: nsf::var::unset o1 x ok var-access/set+array.020: nsf::var::unset -nocomplain o1 x ok notice: Running test case: ./tests/var-access.test dummy var-access/dummy.001: 0.85 mms, ::nsf::var::set o x var-access/dummy.002: 0.93 mms, ::nsf::var::exists o x var-access/dummy.003: 0.87 mms, ::nsf::var::exists o y var-access/dummy.004: 1.06 mms, ::nx::var1 set o x var-access/dummy.005: 1.14 mms, ::nx::var1 exists o x var-access/dummy.006: 1.11 mms, ::nx::var1 exists o y var-access/dummy.007: 0.94 mms, ::nx::var2 set o x var-access/dummy.008: 0.99 mms, ::nx::var2 exists o x var-access/dummy.009: 0.96 mms, ::nx::var2 exists o y var-access/dummy.010: 0.88 mms, p foo0 var-access/dummy.011: 1.41 mms, p foo1 var-access/dummy.012: 0.85 mms, ::nsf::var::set o x var-access/dummy.013: 1.18 mms, p foo2 var-access/dummy.014: 0.85 mms, ::nsf::var::set o x var-access/dummy.015: 1.35 mms, p foo3 var-access/dummy.016: 0.86 mms, ::nsf::var::set o x var-access/dummy.017: 1.22 mms, p foo4 var-access/dummy.018: 0.86 mms, ::nsf::var::set o x Summary: Test-set var-access tests 38 success 38 failure 0 ms 183 TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./tests`/varresolution.test -libdir `echo ./unix` -testlog ./__test.log notice: Running test case: ./tests/varresolution.test globals varresolution/globals.001: o info vars ok varresolution/globals.002: info exists ::globalVar ok varresolution/globals.003: set ::globalVar ok varresolution/globals.004: o eval {info exists :globalVar} ok varresolution/globals.005: o array exists globalVar ok varresolution/globals.006: o eval {info exists :globalVar} ok varresolution/globals.007: o info vars ok varresolution/globals.008: o array exists globalVar ok varresolution/globals.009: set ::globalVar ok varresolution/globals.010: o set globalVar(1) ok notice: Running test case: ./tests/varresolution.test scopes varresolution/scopes.001: ::nsf::var::import o2 j ok varresolution/scopes.002: o foo ok varresolution/scopes.003: o foo ok varresolution/scopes.004: o foo ok varresolution/scopes.005: o foo ok varresolution/scopes.006: o foo ok varresolution/scopes.007: o foo ok varresolution/scopes.008: o foo ok varresolution/scopes.009: info vars ::x ok varresolution/scopes.010: info exists ::z ok varresolution/scopes.011: set ::z ok varresolution/scopes.012: lsort [o info vars] ok varresolution/scopes.013: o eval {info exists :x} ok varresolution/scopes.014: o eval {info exists :y} ok varresolution/scopes.015: o eval {info exists :z} ok varresolution/scopes.016: o eval {info exists :X} ok varresolution/scopes.017: o eval {info exists :Y} ok varresolution/scopes.018: o set y ok varresolution/scopes.019: set ::g ok varresolution/scopes.020: info vars ::x ok varresolution/scopes.021: info exists ::z ok varresolution/scopes.022: set ::z ok varresolution/scopes.023: lsort [o info vars] ok varresolution/scopes.024: o eval {info exists :x} ok varresolution/scopes.025: o eval {info exists :y} ok varresolution/scopes.026: o eval {info exists :z} ok varresolution/scopes.027: o eval {info exists :X} ok varresolution/scopes.028: o eval {info exists :Y} ok varresolution/scopes.029: o set y ok varresolution/scopes.030: set ::g ok notice: Running test case: ./tests/varresolution.test exists varresolution/exists.001: o eval {info exists :x} ok varresolution/exists.002: o eval {info exists :y} ok varresolution/exists.003: o eval {info exists x} ok varresolution/exists.004: o foo ok varresolution/exists.005: o bar ok varresolution/exists.006: ::nx::var exists o x ok varresolution/exists.007: ::nx::var exists o y ok varresolution/exists.008: ::nx::var exists o :x ok varresolution/exists.009: ::nx::var exists o :y ok varresolution/exists.010: ::nx::var set o y 2 ok varresolution/exists.011: ::nx::var exists o y ok varresolution/exists.012: ::nx::var set o :y 2 ok notice: Running test case: ./tests/varresolution.test namespaces varresolution/namespaces.001: namespace eval ::o {set x} ok varresolution/namespaces.002: ::o set x ok varresolution/namespaces.003: namespace eval ::o {set x 3} ok varresolution/namespaces.004: ::o set x ok varresolution/namespaces.005: namespace eval ::o {info exists x} ok varresolution/namespaces.006: ::o unset x ok varresolution/namespaces.007: ::nsf::var::exists o x ok varresolution/namespaces.008: o eval {info exists :x} ok varresolution/namespaces.009: info vars ::x ok varresolution/namespaces.010: namespace eval ::o {info exists x} ok varresolution/namespaces.011: namespace eval ::o {llength y} ok varresolution/namespaces.012: namespace eval ::o {unset y} ok varresolution/namespaces.013: o eval {info exists :y} ok notice: Running test case: ./tests/varresolution.test namespaces-array varresolution/namespaces-array.001: o array exists a ok varresolution/namespaces-array.002: namespace eval ::o array exists a ok varresolution/namespaces-array.003: o array exists a ok varresolution/namespaces-array.004: namespace eval ::o array exists a ok varresolution/namespaces-array.005: namespace eval ::o array names a ok varresolution/namespaces-array.006: namespace eval ::o array size a ok varresolution/namespaces-array.007: o set a(1) 7 ok varresolution/namespaces-array.008: namespace eval ::o array get a 1 ok varresolution/namespaces-array.009: namespace eval ::o set a(1) 2 ok varresolution/namespaces-array.010: o array get a 1 ok varresolution/namespaces-array.011: ::o unset a ok varresolution/namespaces-array.012: ::o array unset a ok varresolution/namespaces-array.013: o array exists a ok varresolution/namespaces-array.014: namespace eval ::o array exists a ok notice: Running test case: ./tests/varresolution.test namespaced-var-names varresolution/namespaced-var-names.001: ::o set ::x 1 ok varresolution/namespaced-var-names.002: info exists ::x ok varresolution/namespaced-var-names.003: catch {unset ::x} ok varresolution/namespaced-var-names.004: ::o set ::o::x 1 ok varresolution/namespaced-var-names.005: o eval {info exists :x} ok varresolution/namespaced-var-names.006: namespace eval ::o unset x ok varresolution/namespaced-var-names.007: o eval {info exists x} ok varresolution/namespaced-var-names.008: catch {::o set o::x 1} msg ok varresolution/namespaced-var-names.009: ::o set oo::x 1 ok varresolution/namespaced-var-names.010: o::oo eval {info exists :x} ok varresolution/namespaced-var-names.011: o unset oo::x ok varresolution/namespaced-var-names.012: o::oo eval {info exists :x} ok notice: Running test case: ./tests/varresolution.test var-resolver-object varresolution/var-resolver-object.001: create var y and fetch var x ok varresolution/var-resolver-object.002: fetch two instance variables ok varresolution/var-resolver-object.003: o info vars ok varresolution/var-resolver-object.004: compiled var y should not exist ok notice: Running test case: ./tests/varresolution.test var-resolver-class varresolution/var-resolver-class.001: c1 info vars ok varresolution/var-resolver-class.002: create var y and fetch var x ok varresolution/var-resolver-class.003: fetch two instance variables ok varresolution/var-resolver-class.004: c1 info vars ok varresolution/var-resolver-class.005: compiled var y should not exist ok varresolution/var-resolver-class.006: c1 info vars ok notice: Running test case: ./tests/varresolution.test compiled-var-resolver varresolution/compiled-var-resolver.001: c1 info vars ok varresolution/compiled-var-resolver.002: c1 foo 1 ok varresolution/compiled-var-resolver.003: c1 info vars ok varresolution/compiled-var-resolver.004: c1 info vars ok varresolution/compiled-var-resolver.005: c1 foo 1 ok varresolution/compiled-var-resolver.006: c1 bar ok varresolution/compiled-var-resolver.007: c1 bar2 ok varresolution/compiled-var-resolver.008: c1 bar2 ok varresolution/compiled-var-resolver.009: c1 info vars ok varresolution/compiled-var-resolver.010: lsort [c1 info vars] ok notice: Running test case: ./tests/varresolution.test var-resolver varresolution/var-resolver.001: single compiled local ok varresolution/var-resolver.002: lookup one compiled var and one non-existing ok varresolution/var-resolver.003: lookup one non compiled var and one non-existing ok varresolution/var-resolver.004: lookup two one non-existing, first access to varTable ok varresolution/var-resolver.005: array variable set via resolver ok varresolution/var-resolver.006: array looks ok ok varresolution/var-resolver.007: c3 foo ok varresolution/var-resolver.008: namespace exists ::c ok varresolution/var-resolver.009: ::nsf::object::exists ::c ok varresolution/var-resolver.010: ::c info has namespace ok varresolution/var-resolver.011: ::c Set w 2; expr {[::c Set w] == $::w} ok varresolution/var-resolver.012: ::c Unset w; info exists ::w ok varresolution/var-resolver.013: ::c Set tmpArray(key) value2; expr {[::c Set tmpArray(key)] == $::tmpArray(key)} ok varresolution/var-resolver.014: ::c Unset tmpArray(key); info exists ::tmpArray(key) ok notice: Running test case: ./tests/varresolution.test eval-variants varresolution/eval-variants.001: info exists G ok varresolution/eval-variants.002: o eval {info exists :x} ok varresolution/eval-variants.003: o eval {info exists :xxx} ok varresolution/eval-variants.004: info exists ::xxx ok varresolution/eval-variants.005: info exists G ok varresolution/eval-variants.006: o eval {info exists :a} ok varresolution/eval-variants.007: o eval {info exists :aaa} ok varresolution/eval-variants.008: info exists ::aaa ok varresolution/eval-variants.009: info exists G ok varresolution/eval-variants.010: o eval {info exists :b} ok varresolution/eval-variants.011: o eval {info exists :bbb} ok varresolution/eval-variants.012: info vars ::bbb ok varresolution/eval-variants.013: info exists G ok varresolution/eval-variants.014: o eval {info exists :z} ok varresolution/eval-variants.015: o eval {info exists :zzz} ok varresolution/eval-variants.016: info vars ::zzz ok varresolution/eval-variants.017: lsort [o info vars] ok varresolution/eval-variants.018: o eval {info exists :c} ok varresolution/eval-variants.019: o eval {info exists :ccc} ok varresolution/eval-variants.020: o eval {info exists :d} ok varresolution/eval-variants.021: o eval {info exists :ddd} ok varresolution/eval-variants.022: o eval {info exists :z} ok varresolution/eval-variants.023: o eval {info exists :zzz} ok varresolution/eval-variants.024: lsort [o info vars] ok notice: Running test case: ./tests/varresolution.test with-global-vars varresolution/with-global-vars.001: o eval {info exists :x} ok varresolution/with-global-vars.002: o eval {info exists :xxx} ok varresolution/with-global-vars.003: o eval {info exists :a} ok varresolution/with-global-vars.004: o eval {info exists :aaa} ok varresolution/with-global-vars.005: o eval {info exists :b} ok varresolution/with-global-vars.006: o eval {info exists :bbb} ok varresolution/with-global-vars.007: o eval {info exists :z} ok varresolution/with-global-vars.008: o eval {info exists :zzz} ok varresolution/with-global-vars.009: lsort [o info vars] ok varresolution/with-global-vars.010: o eval {info exists :c} ok varresolution/with-global-vars.011: o eval {info exists :ccc} ok varresolution/with-global-vars.012: o eval {info exists :d} ok varresolution/with-global-vars.013: o eval {info exists :ddd} ok varresolution/with-global-vars.014: o eval {info exists :z} ok varresolution/with-global-vars.015: o eval {info exists :zzz} ok varresolution/with-global-vars.016: lsort [o info vars] ok notice: Running test case: ./tests/varresolution.test proc-scopes varresolution/proc-scopes.001: foo-via-initcmd ok varresolution/proc-scopes.002: foo nonleaf-eval ok varresolution/proc-scopes.003: foo objscoped-eval ok varresolution/proc-scopes.004: foo plain-eval ok varresolution/proc-scopes.005: foo-tcl eval ok varresolution/proc-scopes.006: foo-tcl ns-eval ok notice: Running test case: ./tests/varresolution.test dotcmd varresolution/dotcmd.001: set ::C ok varresolution/dotcmd.002: f1 eval {set :c} ok varresolution/dotcmd.003: o vwait :x ok varresolution/dotcmd.004: set ::C ok varresolution/dotcmd.005: f1 eval {set :c} ok varresolution/dotcmd.006: set ::C ok varresolution/dotcmd.007: f1 eval {set :c} ok notice: Running test case: ./tests/varresolution.test nsresolver varresolution/nsresolver.001: ::nsf::relation::get C class-mixin ok varresolution/nsresolver.002: ::nsf::relation::get C class-mixin ok notice: Running test case: ./tests/varresolution.test alias-dot-resolver-interp varresolution/alias-dot-resolver-interp.001: lsort [V info vars] ok varresolution/alias-dot-resolver-interp.002: lsort [v info vars] ok notice: Running test case: ./tests/varresolution.test alias-dot-resolver varresolution/alias-dot-resolver.001: lsort [V info vars] ok varresolution/alias-dot-resolver.002: lsort [v info vars] ok notice: Running test case: ./tests/varresolution.test info-vars-in-eval varresolution/info-vars-in-eval.001: o eval { set x 1 expr {[info vars "x"] eq "x"} } ok notice: Running test case: ./tests/varresolution.test tcl-variable-cmd varresolution/tcl-variable-cmd.001: o bar ok varresolution/tcl-variable-cmd.002: o ? a ok varresolution/tcl-variable-cmd.003: o ? b ok varresolution/tcl-variable-cmd.004: o ? c ok varresolution/tcl-variable-cmd.005: o ? d ok varresolution/tcl-variable-cmd.006: lsort [o info vars] ok varresolution/tcl-variable-cmd.007: o ? a ok varresolution/tcl-variable-cmd.008: lsort [o info vars] ok notice: Running test case: ./tests/varresolution.test interactions varresolution/interactions.001: o bar ok varresolution/interactions.002: o baz ok varresolution/interactions.003: o eval { # early probing: reflects the compiled-only, unexecuted state set _ [join [list {*}[lsort [info vars :*]] [info locals :*] [info exists :u] [::nsf::var::exists [::nsf::current] u] [info exists :v] [::nsf::var::exists [::nsf::current] v] [info exists :x] [::nsf::var::exists [::nsf::current] x]] "-"] catch {set :u} set :v 1 unset :x # late probing: reflects the (ideally) compiled, *executed* state append _ | [join [list {*}[lsort [info vars :*]] [info locals :*] [info exists :u] [::nsf::var::exists [::nsf::current] u] [info exists :v] [::nsf::var::exists [::nsf::current] v] [info exists :x] [::nsf::var::exists [::nsf::current] x]] "-"] return $_ } ok varresolution/interactions.004: ::ns1::o foo ok varresolution/interactions.005: ::ns1::o faz ok varresolution/interactions.006: ::ns1::o caz ok varresolution/interactions.007: ::ns1::o eval { set _ "[info exists :aaa]-${:aaa}-[set :aaa]" variable :aaa append _ "-[info exists :aaa]" set :aaa 2 append _ "-${:aaa}-[set :aaa]-[[current] eval {set :aaa}]-[namespace eval [namespace current] {variable :aaa; info exists :aaa}]" variable :aaa 5 unset :aaa append _ "-[info exists :aaa]-[namespace which -variable [namespace current]:::aaa]-[::nsf::var::exists [current] aaa]-[namespace eval [namespace current] {variable :aaa; info exists :aaa}]-[namespace eval [namespace current] {variable :aaa; set :aaa}]" return $_ } ok varresolution/interactions.008: set y 1; p foo y ok varresolution/interactions.009: p baz ok varresolution/interactions.010: ::ns1::o bar ok notice: Running test case: ./tests/varresolution.test after-next varresolution/after-next.001: p1 initialize_loaded_object ok notice: Running test case: ./tests/varresolution.test unconfigured-varresolver varresolution/unconfigured-varresolver.001: ateh eval {info exists :x} ok notice: Running test case: ./tests/varresolution.test var-resolver-uplevel-apply varresolution/var-resolver-uplevel-apply.001: o2 foo ok varresolution/var-resolver-uplevel-apply.002: o2 bar ok varresolution/var-resolver-uplevel-apply.003: o2 bar2 ok varresolution/var-resolver-uplevel-apply.004: o2 bar3 ok varresolution/var-resolver-uplevel-apply.005: o1 foo ok varresolution/var-resolver-uplevel-apply.006: o1 bar ok varresolution/var-resolver-uplevel-apply.007: o1 bar2 ok varresolution/var-resolver-uplevel-apply.008: o3 foo-m ok varresolution/var-resolver-uplevel-apply.009: o3 foo-r ok varresolution/var-resolver-uplevel-apply.010: o3 foo-m-u ok varresolution/var-resolver-uplevel-apply.011: o3 foo-r-u ok varresolution/var-resolver-uplevel-apply.012: o3 foo-a-m ok varresolution/var-resolver-uplevel-apply.013: o3 foo-a-r ok varresolution/var-resolver-uplevel-apply.014: o3 foo-a-m-u ok varresolution/var-resolver-uplevel-apply.015: o3 foo-a-r-u ok notice: Running test case: ./tests/varresolution.test compiled_colon_lookup varresolution/compiled_colon_lookup.001: p baz ok varresolution/compiled_colon_lookup.002: p baz ok varresolution/compiled_colon_lookup.003: p baz ok varresolution/compiled_colon_lookup.004: p baz ok Summary: Test-set varresolution tests 224 success 224 failure 0 ms 3 TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./tests`/info-method.test -libdir `echo ./unix` -testlog ./__test.log notice: Running test case: ./tests/info-method.test info-superclass info-method/info-superclass.001: D info superclasses ok info-method/info-superclass.002: D info superclasses -closure ok info-method/info-superclass.003: D info superclasses ::C ok info-method/info-superclass.004: D info superclasses -closure ::C ok info-method/info-superclass.005: D info superclasses C ok info-method/info-superclass.006: D info superclasses -closure C ok info-method/info-superclass.007: D info superclasses ::D ok info-method/info-superclass.008: D info superclasses -closure ::D ok info-method/info-superclass.009: D info superclasses ::Dx ok info-method/info-superclass.010: D info superclasses -closure ::Dx ok info-method/info-superclass.011: D info superclasses D ok info-method/info-superclass.012: D info superclasses -closure D ok info-method/info-superclass.013: D info superclasses Dx ok info-method/info-superclass.014: D info superclasses -closure Dx ok info-method/info-superclass.015: D info superclasses ::* ok info-method/info-superclass.016: D info superclasses -closure ::C* ok info-method/info-superclass.017: D info superclasses -closure ::* ok info-method/info-superclass.018: D info superclasses -closure ::nx* ok info-method/info-superclass.019: D info superclasses C* ok info-method/info-superclass.020: D info superclasses -closure * ok info-method/info-superclass.021: D info superclasses -closure nx* ok info-method/info-superclass.022: D info superclasses ::*D ok info-method/info-superclass.023: D info superclasses -closure ::*D ok info-method/info-superclass.024: D info superclasses C*x ok info-method/info-superclass.025: D info superclasses -closure C*x ok notice: Running test case: ./tests/info-method.test info-method-base info-method/info-method-base.001: lsort [C info methods -callprotection all] ok info-method/info-method-base.002: lsort [c1 info lookup methods a] ok info-method/info-method-base.003: lsort [c1 info lookup methods addOne] ok info-method/info-method-base.004: lsort [c1 info lookup methods m] ok info-method/info-method-base.005: lsort [c1 info lookup methods s] ok info-method/info-method-base.006: C info method definition a ok info-method/info-method-base.007: c1 info lookup method a ok info-method/info-method-base.008: c1 info lookup method addOne ok info-method/info-method-base.009: c1 info lookup method m ok info-method/info-method-base.010: c1 info lookup method s ok info-method/info-method-base.011: c1 info object method definition foo ok info-method/info-method-base.012: c1 info lookup method foo ok info-method/info-method-base.013: C info method registrationhandle m ok info-method/info-method-base.014: C info object method registrationhandle mpo ok info-method/info-method-base.015: C info method definition m ok info-method/info-method-base.016: C info object method definition mpo ok info-method/info-method-base.017: C info method parameters m ok info-method/info-method-base.018: nx::Class info method parameters method ok info-method/info-method-base.019: nx::Class info method parameters alias ok info-method/info-method-base.020: catch {C info method parameters a} ok info-method/info-method-base.021: C info method definition addOne ok info-method/info-method-base.022: C info object method definition add1 ok info-method/info-method-base.023: C info object method definition fpo ok info-method/info-method-base.024: C info method definition s ok info-method/info-method-base.025: C info object method definition spo ok info-method/info-method-base.026: C info method definition a ok info-method/info-method-base.027: C info object method definition apo ok info-method/info-method-base.028: ::nx::Object info lookup methods -source application ok info-method/info-method-base.029: ::nx::Class info lookup methods -source application ok info-method/info-method-base.030: lsort [::nx::Object info lookup methods -source system] ok info-method/info-method-base.031: lsort [::nx::Class info lookup methods -source system] ok info-method/info-method-base.032: lsort [::nx::Object info lookup methods -source all] ok info-method/info-method-base.033: lsort [::nx::Class info lookup methods -source all] ok info-method/info-method-base.034: lsort [::nx::Object info lookup methods] ok info-method/info-method-base.035: lsort [::nx::Class info lookup methods] ok info-method/info-method-base.036: lsort [C info lookup methods -source application] ok info-method/info-method-base.037: lsort [c1 info lookup methods -source application] ok info-method/info-method-base.038: lsort [C info lookup methods -source system] ok info-method/info-method-base.039: lsort [c1 info lookup methods -source system] ok info-method/info-method-base.040: ::nx::configure defaultMethodCallProtection ok info-method/info-method-base.041: lsort [MC info methods -type scripted -callprotection public] ok info-method/info-method-base.042: lsort [MC info methods -type scripted -callprotection protected] ok info-method/info-method-base.043: lsort [MC info methods -type scripted -callprotection all] ok info-method/info-method-base.044: lsort [MC info methods -type scripted -callprotection public] ok info-method/info-method-base.045: lsort [MC info methods -type scripted -callprotection protected] ok info-method/info-method-base.046: lsort [MC info methods -type scripted -callprotection all] ok notice: Running test case: ./tests/info-method.test visibility-sub-objects info-method/visibility-sub-objects.001: o info object methods ok info-method/visibility-sub-objects.002: o info object method type soAlias ok notice: Running test case: ./tests/info-method.test visibility-aliased-object info-method/visibility-aliased-object.001: C info methods i ok info-method/visibility-aliased-object.002: c1 info lookup methods i ok info-method/visibility-aliased-object.003: C info methods *i ok info-method/visibility-aliased-object.004: c1 info lookup methods *i ok notice: Running test case: ./tests/info-method.test method-returns info-method/method-returns.001: C info method returns bar-ok1 ok info-method/method-returns.002: C info method returns bar-nok ok info-method/method-returns.003: C info method returns incr ok info-method/method-returns.004: C info method returns ++ ok info-method/method-returns.005: C info object method returns instances ok info-method/method-returns.006: c1 info object method returns foo ok info-method/method-returns.007: c1 info object method returns "bar baz" ok info-method/method-returns.008: c1 info object method returns "bar boo" ok info-method/method-returns.009: c1 info object method returns bar ok info-method/method-returns.010: c1 info object method returns baf ok info-method/method-returns.011: c1 info object method returns "bar baf" ok notice: Running test case: ./tests/info-method.test method-definition-with-returns info-method/method-definition-with-returns.001: C info method definition bar-ok1 ok info-method/method-definition-with-returns.002: C info method definition bar-nok ok info-method/method-definition-with-returns.003: C info method definition incr ok info-method/method-definition-with-returns.004: C info method definition ++ ok info-method/method-definition-with-returns.005: C info object method definition instances ok info-method/method-definition-with-returns.006: c1 info object method definition foo ok info-method/method-definition-with-returns.007: c1 info object method definition "bar baz" ok notice: Running test case: ./tests/info-method.test copy-with-returns info-method/copy-with-returns.001: c2 info object method returns foo ok info-method/copy-with-returns.002: c2 info object method definition foo ok info-method/copy-with-returns.003: c2 info object method returns "bar baz" ok info-method/copy-with-returns.004: c2 info object method definition "bar baz" ok info-method/copy-with-returns.005: c2 info object method returns "bar boo" ok info-method/copy-with-returns.006: CC info method returns bar-ok1 ok info-method/copy-with-returns.007: CC info method definition bar-ok1 ok info-method/copy-with-returns.008: CC info method returns bar-nok ok info-method/copy-with-returns.009: CC info method definition bar-nok ok info-method/copy-with-returns.010: CC info object method returns instances ok info-method/copy-with-returns.011: CC info object method definition instances ok notice: Running test case: ./tests/info-method.test callable info-method/callable.001: o info lookup method bar ok info-method/callable.002: o info lookup methods bar ok info-method/callable.003: o bar ok info-method/callable.004: o info precedence ok info-method/callable.005: o info lookup method bar ok info-method/callable.006: o info lookup methods bar ok info-method/callable.007: o info lookup methods create ok info-method/callable.008: o info lookup method create ok info-method/callable.009: o bar ok info-method/callable.010: o object method foo {} {return o.foo} ok info-method/callable.011: o object alias is ::nsf::is ok info-method/callable.012: o object property x ok info-method/callable.013: o object property -accessor public x ok info-method/callable.014: lsort [o info object methods] ok info-method/callable.015: o object property A ok info-method/callable.016: o object property -accessor public A ok info-method/callable.017: o object forward fwd ::set ok info-method/callable.018: lsort [o info object methods] ok info-method/callable.019: o info lookup methods create ok info-method/callable.020: o info lookup methods configure ok info-method/callable.021: o info lookup method configure ok info-method/callable.022: o object filters set f ok info-method/callable.023: o object filters guard f { 1 == 1 } ok info-method/callable.024: o info object filters -guards ok info-method/callable.025: o object filters guard f ok info-method/callable.026: Foo method f args ::nx::next ok info-method/callable.027: Foo method f2 args ::nx::next ok info-method/callable.028: Foo filters set {f f2} ok info-method/callable.029: Foo info filters ok info-method/callable.030: Foo filters guard f {2 == 2} ok info-method/callable.031: Foo info filters -guards f ok info-method/callable.032: Foo info filters -guards f2 ok info-method/callable.033: Foo info filters -guards ok info-method/callable.034: Foo filters set {} ok info-method/callable.035: Foo object method f args ::nx::next ok info-method/callable.036: Foo object method f2 args ::nx::next ok info-method/callable.037: Foo object filters set {f f2} ok info-method/callable.038: Foo info object filters ok info-method/callable.039: Foo object filters guard f {2 == 2} ok info-method/callable.040: Foo object filters guard f ok info-method/callable.041: Foo info object filters -guards f ok info-method/callable.042: Foo info object filters -guards f2 ok info-method/callable.043: Foo info object filters -guards ok info-method/callable.044: Foo object filters set {} ok info-method/callable.045: o info object mixins ok info-method/callable.046: o object mixins guard ::Fly {1} ok info-method/callable.047: o info object mixins -guards ok info-method/callable.048: o info object mixins -guards Fly ok info-method/callable.049: o info object mixins ok info-method/callable.050: Foo info mixins ok info-method/callable.051: Foo mixins guard ::Fly {1} ok info-method/callable.052: Foo info mixins -guards ok info-method/callable.053: Foo info mixins -guards Fly ok info-method/callable.054: Foo info mixins ok info-method/callable.055: Foo info object mixins ok info-method/callable.056: Foo object mixins guard ::Fly {1} ok info-method/callable.057: Foo info object mixins -guards ok info-method/callable.058: Foo info object mixins -guards Fly ok info-method/callable.059: Foo info object mixins ok info-method/callable.060: Foo info lookup methods create ok info-method/callable.061: Foo info lookup method create ok info-method/callable.062: o object mixins set "" ok notice: Running test case: ./tests/info-method.test info-slots info-method/info-slots.001: C info slots ok info-method/info-slots.002: D info slots ok info-method/info-slots.003: D info slots -closure -source application ok info-method/info-slots.004: d1 info lookup slots -source application ok info-method/info-slots.005: D info object slots ok info-method/info-slots.006: d1 info object slots ok info-method/info-slots.007: C info object slots ok notice: Running test case: ./tests/info-method.test slots info-method/slots.001: lsort [D info lookup slots] ok info-method/slots.002: D info lookup slots superclasses ok info-method/slots.003: D info lookup slots ::nx::Class::slot::superclasses ok info-method/slots.004: D info lookup slots a2 ok info-method/slots.005: D info lookup slots ::D::per-object-slot::a2 ok info-method/slots.006: d1 info lookup slots b ok info-method/slots.007: d1 info lookup slots ::D::slot::b ok info-method/slots.008: c1 info precedence ok info-method/slots.009: C info heritage ok info-method/slots.010: C info slots -closure -source application ok info-method/slots.011: lsort [C info slots -closure] ok info-method/slots.012: C info slots ok info-method/slots.013: C info slots x ok info-method/slots.014: C info slots ::C::slot::____C.x ok info-method/slots.015: C info lookup slots y ok info-method/slots.016: C info lookup slots ::C::per-object-slot::____C.y ok info-method/slots.017: C info slots -closure object-mixins ok info-method/slots.018: lsort [C info slots -closure *in*] ok info-method/slots.019: C info slots -closure ::nx::Object::slot::object-mixins ok info-method/slots.020: C info slots -closure ::C::* ok info-method/slots.021: D info slots -closure ::C::* ok info-method/slots.022: c1 info lookup slots object-mixins ok info-method/slots.023: lsort [c1 info lookup slots *in*] ok info-method/slots.024: c1 info lookup slots ::nx::Object::slot::object-mixins ok info-method/slots.025: c1 info lookup slots ::C::* ok info-method/slots.026: D info slots ok info-method/slots.027: D info slots -closure -source application ok info-method/slots.028: ::nx::Object info method parameters info ok info-method/slots.029: d1 info precedence ok info-method/slots.030: lsort [d1 info lookup slots] ok info-method/slots.031: d1 info lookup slots ::C::* ok notice: Running test case: ./tests/info-method.test info-submethod info-method/info-submethod.001: o info object method definition "foo b" ok info-method/info-submethod.002: o info object method definition "::o::foo b" ok info-method/info-submethod.003: o info object method definition "::o::foo b" ok info-method/info-submethod.004: o2 info object method definition "::o::foo b" ok info-method/info-submethod.005: o2 info object method definition "::o::foo::b" ok info-method/info-submethod.006: o2 info object method definition "::o::foo b" ok info-method/info-submethod.007: o2 info object method definition "::o::foo::b" ok info-method/info-submethod.008: ::nx::Object info method definition "info lookup methods" ok info-method/info-submethod.009: o info object method definition "::nsf::classes::nx::Object::info lookup methods" ok info-method/info-submethod.010: o info object method definition "::nx::Object::slot::__info::lookup::methods" ok info-method/info-submethod.011: lsort [o info object method submethods dummy] ok info-method/info-submethod.012: lsort [o info object method submethods foo] ok info-method/info-submethod.013: lsort [o info object method submethods "foo a"] ok info-method/info-submethod.014: lsort [C info method submethods "bar"] ok info-method/info-submethod.015: lsort [C info method submethods "bar a"] ok info-method/info-submethod.016: lsort [C info method submethods "bar baz"] ok info-method/info-submethod.017: lsort [C info method submethods "bar baz y"] ok info-method/info-submethod.018: lsort [C info object method submethods "foo"] ok info-method/info-submethod.019: lsort [C info object method submethods "foo x"] ok info-method/info-submethod.020: C info method registrationhandle "bar" ok info-method/info-submethod.021: C info method registrationhandle "bar a" ok info-method/info-submethod.022: C info method registrationhandle "bar baz y" ok info-method/info-submethod.023: C info method exists "bar" ok info-method/info-submethod.024: C info method exists [C info method registrationhandle "bar"] ok info-method/info-submethod.025: C info method parameters [C info method registrationhandle "bar"] ok info-method/info-submethod.026: C info method exists "bar b" ok info-method/info-submethod.027: C info method exists [C info method registrationhandle "bar b"] ok info-method/info-submethod.028: C info method parameters [C info method registrationhandle "bar b"] ok info-method/info-submethod.029: C info method parameters [C info method registrationhandle "bar baz y"] ok info-method/info-submethod.030: C info method definition "bar b" ok info-method/info-submethod.031: C info method definition "::nsf::classes::C::bar b" ok info-method/info-submethod.032: o2 info object method definition "::nsf::classes::C::bar b" ok info-method/info-submethod.033: C info object method registrationhandle "foo" ok info-method/info-submethod.034: C info object method registrationhandle "foo x" ok info-method/info-submethod.035: C info object method definition "::C::foo x" ok info-method/info-submethod.036: C info method definition "::C::foo x" ok info-method/info-submethod.037: o2 info object method definition "::C::foo x" ok info-method/info-submethod.038: C info method definition "bar baz y" ok info-method/info-submethod.039: C info method definition "::nsf::classes::C::bar baz y" ok info-method/info-submethod.040: nx::Object info method parameters "info lookup methods" ok info-method/info-submethod.041: nx::Object info method syntax "info lookup methods" ok info-method/info-submethod.042: o info object method parameters "foo b" ok info-method/info-submethod.043: nx::Object info method parameters ::nx::Object::slot::__info::lookup::methods ok info-method/info-submethod.044: o info object method parameters "::o::foo::b" ok info-method/info-submethod.045: nx::Object info method registrationhandle "info" ok info-method/info-submethod.046: nx::Object info method registrationhandle "info lookup methods" ok info-method/info-submethod.047: nx::Object info method registrationhandle "::nsf::classes::nx::Object::info lookup methods" ok info-method/info-submethod.048: o info object method registrationhandle "foo b" ok notice: Running test case: ./tests/info-method.test info-slot-parametersyntax info-method/info-slot-parametersyntax.001: C info lookup syntax create ok info-method/info-slot-parametersyntax.002: C info lookup syntax create a ok info-method/info-slot-parametersyntax.003: C info lookup parameters create ok info-method/info-slot-parametersyntax.004: lsort [C info slots -closure] ok info-method/info-slot-parametersyntax.005: C info lookup parameters create b ok info-method/info-slot-parametersyntax.006: D info lookup parameters create b ok info-method/info-slot-parametersyntax.007: D info slots -closure b ok info-method/info-slot-parametersyntax.008: D info slots -closure a ok info-method/info-slot-parametersyntax.009: D info slots -closure class ok notice: Running test case: ./tests/info-method.test info-methods-path info-method/info-methods-path.001: ::nx::Object info methods "info" ok info-method/info-methods-path.002: ::nx::Object info methods -path "info" ok info-method/info-methods-path.003: lsort [::nx::Object info methods -path "info lookup *"] ok info-method/info-methods-path.004: lsort [::nx::Object info methods -path "info *parameter*"] ok info-method/info-methods-path.005: lsort [::nx::Object info methods "slots"] ok info-method/info-methods-path.006: lsort [::nx::Object info methods "*slots*"] ok info-method/info-methods-path.007: lsort [::nx::Object info methods -path "*slot*"] ok info-method/info-methods-path.008: lsort [::nx::Object info methods -path "*filter*"] ok info-method/info-methods-path.009: lsort [C info methods -path -callprotection all] ok info-method/info-methods-path.010: lsort [C info methods -path] ok info-method/info-methods-path.011: lsort [c1 info lookup methods -path "string *"] ok info-method/info-methods-path.012: lsort [d1 info lookup methods -path "string *"] ok info-method/info-methods-path.013: lsort [d1 info lookup method "string length"] ok info-method/info-methods-path.014: lsort [d1 info lookup method "string reverse"] ok notice: Running test case: ./tests/info-method.test parametersyntax info-method/parametersyntax.001: ::nx::Class info method syntax method ok info-method/parametersyntax.002: ::nx::Class info method syntax mixins ok info-method/parametersyntax.003: ::nx::Class info method syntax ::nx::next ok info-method/parametersyntax.004: ::nx::Class info method syntax ::nsf::xotclnext ok notice: Running test case: ./tests/info-method.test info-heritage info-method/info-heritage.001: A info heritage ok info-method/info-heritage.002: B info heritage ok info-method/info-heritage.003: M1 info heritage ok info-method/info-heritage.004: M2 info heritage ok info-method/info-heritage.005: A info heritage ok info-method/info-heritage.006: B info heritage ok info-method/info-heritage.007: B info mixins -closure ok info-method/info-heritage.008: A info heritage ok info-method/info-heritage.009: B info heritage ok info-method/info-heritage.010: B info mixins -closure ok info-method/info-heritage.011: A info heritage ok info-method/info-heritage.012: B info heritage ok info-method/info-heritage.013: A info heritage ok info-method/info-heritage.014: B info heritage ok info-method/info-heritage.015: BB info heritage ok info-method/info-heritage.016: BB info heritage ok info-method/info-heritage.017: BB info heritage ok notice: Running test case: ./tests/info-method.test info-heritage-transitive info-method/info-heritage-transitive.001: C info heritage ok info-method/info-heritage-transitive.002: D info heritage ok info-method/info-heritage-transitive.003: B info heritage ok info-method/info-heritage-transitive.004: B info heritage ok info-method/info-heritage-transitive.005: C info heritage ok info-method/info-heritage-transitive.006: D info heritage ok info-method/info-heritage-transitive.007: B info heritage ok info-method/info-heritage-transitive.008: C info heritage ok info-method/info-heritage-transitive.009: D info heritage ok info-method/info-heritage-transitive.010: B info heritage ok info-method/info-heritage-transitive.011: C info heritage ok info-method/info-heritage-transitive.012: D info heritage ok notice: Running test case: ./tests/info-method.test info-heritage-circular info-method/info-heritage-circular.001: B mixins set C ok info-method/info-heritage-circular.002: C mixins get ok info-method/info-heritage-circular.003: C mixins set B ok info-method/info-heritage-circular.004: C mixins get ok info-method/info-heritage-circular.005: B info heritage ok info-method/info-heritage-circular.006: C info heritage ok info-method/info-heritage-circular.007: D info heritage ok info-method/info-heritage-circular.008: B info heritage ok info-method/info-heritage-circular.009: C info heritage ok info-method/info-heritage-circular.010: D info heritage ok info-method/info-heritage-circular.011: C mixins get ok info-method/info-heritage-circular.012: C mixins set BB ok info-method/info-heritage-circular.013: B info heritage ok info-method/info-heritage-circular.014: C info heritage ok info-method/info-heritage-circular.015: D info heritage ok info-method/info-heritage-circular.016: B info heritage ok info-method/info-heritage-circular.017: C info heritage ok info-method/info-heritage-circular.018: D info heritage ok info-method/info-heritage-circular.019: M3 mixins set B ok info-method/info-heritage-circular.020: A info heritage ok info-method/info-heritage-circular.021: B info heritage ok info-method/info-heritage-circular.022: M3 info heritage ok info-method/info-heritage-circular.023: A mixins set M3 ok info-method/info-heritage-circular.024: A info heritage ok info-method/info-heritage-circular.025: B info heritage ok info-method/info-heritage-circular.026: M3 create m1 ok info-method/info-heritage-circular.027: m1 info precedence ok info-method/info-heritage-circular.028: M3 info heritage ok Warning: cycle in the mixin graph list detected for class ::A info-method/info-heritage-circular.029: B mixins set M3 ok info-method/info-heritage-circular.030: B info heritage ok notice: Running test case: ./tests/info-method.test info-heritage-simple-multimix info-method/info-heritage-simple-multimix.001: Agent info heritage ok info-method/info-heritage-simple-multimix.002: a1 info precedence ok info-method/info-heritage-simple-multimix.003: Agent info heritage ok info-method/info-heritage-simple-multimix.004: a1 info precedence ok notice: Running test case: ./tests/info-method.test info-heritage-multimix info-method/info-heritage-multimix.001: B info heritage ok info-method/info-heritage-multimix.002: b1 info precedence ok info-method/info-heritage-multimix.003: b1 info precedence ::M* ok info-method/info-heritage-multimix.004: B info heritage ok info-method/info-heritage-multimix.005: b1 info precedence ok info-method/info-heritage-multimix.006: b1 info precedence ::M* ok info-method/info-heritage-multimix.007: b1 info precedence ::X* ok info-method/info-heritage-multimix.008: b1 info precedence ok info-method/info-heritage-multimix.009: b1 info object mixins ok info-method/info-heritage-multimix.010: B info heritage ok info-method/info-heritage-multimix.011: b1 info precedence ok notice: Running test case: ./tests/info-method.test info-heritage-multimix info-method/info-heritage-multimix.012: c1 info precedence ok info-method/info-heritage-multimix.013: c1 info precedence ok info-method/info-heritage-multimix.014: c1 info lookup mixins ok info-method/info-heritage-multimix.015: C info heritage ok info-method/info-heritage-multimix.016: C info mixins ok info-method/info-heritage-multimix.017: C info mixins -order ok info-method/info-heritage-multimix.018: C info mixins -heritage ok info-method/info-heritage-multimix.019: C info mixins -closure ok info-method/info-heritage-multimix.020: c1 info precedence ok info-method/info-heritage-multimix.021: c1 info lookup mixins ok notice: Running test case: ./tests/info-method.test info-heritage-transitive-pcm info-method/info-heritage-transitive-pcm.001: C info heritage ok info-method/info-heritage-transitive-pcm.002: c1 info precedence ok info-method/info-heritage-transitive-pcm.003: C info heritage ok info-method/info-heritage-transitive-pcm.004: c1 info precedence ok info-method/info-heritage-transitive-pcm.005: B info mixins ok info-method/info-heritage-transitive-pcm.006: C info mixins ok info-method/info-heritage-transitive-pcm.007: B info mixins -closure ok info-method/info-heritage-transitive-pcm.008: C info mixins -closure ok info-method/info-heritage-transitive-pcm.009: B info mixins -heritage ok info-method/info-heritage-transitive-pcm.010: C info mixins -heritage ok info-method/info-heritage-transitive-pcm.011: C info heritage ok info-method/info-heritage-transitive-pcm.012: c1 info precedence ok info-method/info-heritage-transitive-pcm.013: B info mixins ok info-method/info-heritage-transitive-pcm.014: C info mixins ok info-method/info-heritage-transitive-pcm.015: B info mixins -closure ok info-method/info-heritage-transitive-pcm.016: C info mixins -closure ok info-method/info-heritage-transitive-pcm.017: B info mixins -heritage ok info-method/info-heritage-transitive-pcm.018: C info mixins -heritage ok info-method/info-heritage-transitive-pcm.019: C info heritage ok info-method/info-heritage-transitive-pcm.020: c1 info precedence ok info-method/info-heritage-transitive-pcm.021: B info mixins ok info-method/info-heritage-transitive-pcm.022: C info mixins ok info-method/info-heritage-transitive-pcm.023: B info mixins -closure ok info-method/info-heritage-transitive-pcm.024: C info mixins -closure ok info-method/info-heritage-transitive-pcm.025: B info mixins -heritage ok info-method/info-heritage-transitive-pcm.026: C info mixins -heritage ok notice: Running test case: ./tests/info-method.test method-isregistered info-method/method-isregistered.001: ::nsf::method::registered c ok info-method/method-isregistered.002: ::nsf::method::registered info ok info-method/method-isregistered.003: ::nsf::method::registered ::info ok info-method/method-isregistered.004: set _ ::nsf::classes::C::bar ok info-method/method-isregistered.005: ::C info method registrationhandle bar ok info-method/method-isregistered.006: ::nsf::method::registered ::nsf::classes::C::bar ok info-method/method-isregistered.007: ::C info object method registrationhandle bar ok info-method/method-isregistered.008: ::nsf::method::registered ::C::bar ok info-method/method-isregistered.009: set _ ::o::bar ok info-method/method-isregistered.010: ::o info object method registrationhandle bar ok info-method/method-isregistered.011: ::nsf::method::registered ::o::bar ok notice: Running test case: ./tests/info-method.test method-origin info-method/method-origin.001: set implHandle [C public method "foo bar" {x} {;}] ok info-method/method-origin.002: set regHandle [C info method registrationhandle "foo bar"] ok info-method/method-origin.003: set origin [C info method definitionhandle "foo bar"] ok info-method/method-origin.004: set implHandle [C public object method "foo bar" {x} {;}] ok info-method/method-origin.005: set regHandle [C info object method registrationhandle "foo bar"] ok info-method/method-origin.006: set origin [C info object method definitionhandle "foo bar"] ok info-method/method-origin.007: set implHandle [o public object method "foo bar" {x} {;}] ok info-method/method-origin.008: set regHandle [o info object method registrationhandle "foo bar"] ok info-method/method-origin.009: set origin [o info object method definitionhandle "foo bar"] ok notice: Running test case: ./tests/info-method.test info-methods-closure info-method/info-methods-closure.001: D info methods ok info-method/info-methods-closure.002: D info methods -closure *2 ok info-method/info-methods-closure.003: D info methods -closure -source application ok info-method/info-methods-closure.004: D info methods ok info-method/info-methods-closure.005: D info methods -closure *2 ok info-method/info-methods-closure.006: D info methods -closure -source application ok notice: Running test case: ./tests/info-method.test error-in-ensemble info-method/error-in-ensemble.001 hint: we could compare with errorCode: TCL WRONGARGS info-method/error-in-ensemble.001: nx::Object info method definition foo 1 ok info-method/error-in-ensemble.002: nx::Object info subclasses I R G H ok Summary: Test-set info-method tests 419 success 419 failure 0 ms 5 TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./tests`/submethods.test -libdir `echo ./unix` -testlog ./__test.log notice: Running test case: ./tests/submethods.test info-errors submethods/info-errors.001: ::nx::Object info subclasses a b c ok submethods/info-errors.002: ::nx::Object info object mixins a b c ok notice: Running test case: ./tests/submethods.test submethods submethods/submethods.001: o1 foo ok submethods/submethods.002: 2.20 mms, o string length 1 submethods/submethods.003: 1.40 mms, o string tolower 2 submethods/submethods.004: o string toupper 2 ok submethods/submethods.005: o string ok submethods/submethods.006: 1.50 mms, o foo a x submethods/submethods.007: 1.40 mms, o foo a y submethods/submethods.008: o foo a z ok submethods/submethods.009: 3.00 mms, o info object method type string submethods/submethods.010: 1.40 mms, o string length aaa submethods/submethods.011: 1.30 mms, o string info class submethods/submethods.012: o string hugo ok submethods/submethods.013: 1.50 mms, f1 baz a m1 10 submethods/submethods.014: f1 baz a m3 10 ok notice: Running test case: ./tests/submethods.test defaultmethod submethods/defaultmethod.001: o string ok submethods/defaultmethod.002: o foo ok submethods/defaultmethod.003: f1 bar ok submethods/defaultmethod.004: f1 baz ok submethods/defaultmethod.005: f1 baz a ok notice: Running test case: ./tests/submethods.test ensemble-next submethods/ensemble-next.001: f1 foo a 1 ok submethods/ensemble-next.002: f1 foo b x 1 ok submethods/ensemble-next.003: f1 foo b y 1 ok submethods/ensemble-next.004: f1 l1 l2 l3a 100 ok notice: Running test case: ./tests/submethods.test ensemble-partial-next submethods/ensemble-partial-next.001: o1 info has namespace ok submethods/ensemble-partial-next.002: o1 info has type Object ok submethods/ensemble-partial-next.003: o1 info has type M ok submethods/ensemble-partial-next.004: o1 info has typo M ok submethods/ensemble-partial-next.005: o1 info has something else ok submethods/ensemble-partial-next.006: o1 info has something better ok submethods/ensemble-partial-next.007: o1 info has something wrong ok submethods/ensemble-partial-next.008: lsort [o1 info has something] ok submethods/ensemble-partial-next.009: lsort [o1 info has] ok submethods/ensemble-partial-next.010: lsort [o1 info] ok submethods/ensemble-partial-next.011: o1 info has something path ok submethods/ensemble-partial-next.012: o1 foo ok Warning: cycle in the mixin graph list detected for class ::nx::Object notice: Running test case: ./tests/submethods.test ensemble-upvar submethods/ensemble-upvar.001: f1 baz0 ok submethods/ensemble-upvar.002: f1 baz1 ok notice: Running test case: ./tests/submethods.test ensemble-next-with-args submethods/ensemble-next-with-args.001: o foo ok submethods/ensemble-next-with-args.002: o e1 sm ok submethods/ensemble-next-with-args.003: o e2 sm1 sm2 ok submethods/ensemble-next-with-args.004: o e2 e2 e2 ok submethods/ensemble-next-with-args.005: o e1 e1 e1 ok notice: Running test case: ./tests/submethods.test ensemble-next-with-colon-prefix submethods/ensemble-next-with-colon-prefix.001: obj info class ok submethods/ensemble-next-with-colon-prefix.002: obj info lookup method info ok submethods/ensemble-next-with-colon-prefix.003: obj ifoo ok submethods/ensemble-next-with-colon-prefix.004: obj foo ok submethods/ensemble-next-with-colon-prefix.005: obj ::nsf::methods::object::info::lookupmethod info ok submethods/ensemble-next-with-colon-prefix.006: obj ::nsf::methods::object::info::method type ::nsf::classes::nx::Object::info ok submethods/ensemble-next-with-colon-prefix.007: obj ::nsf::methods::object::info::lookupmethod info ok submethods/ensemble-next-with-colon-prefix.008: obj ::nsf::methods::object::info::method type ::ns1::obj::info ok submethods/ensemble-next-with-colon-prefix.009: obj ifoo ok submethods/ensemble-next-with-colon-prefix.010 hint: we could compare with errorCode: TCL WRONGARGS submethods/ensemble-next-with-colon-prefix.010: obj foo ok submethods/ensemble-next-with-colon-prefix.011: nx::Object create obj::info ok submethods/ensemble-next-with-colon-prefix.012: nx::Object create obj::info ok submethods/ensemble-next-with-colon-prefix.013: obj ::nsf::methods::object::info::lookupmethod info ok submethods/ensemble-next-with-colon-prefix.014: obj ::nsf::methods::object::info::method type ::ns1::obj::info ok submethods/ensemble-next-with-colon-prefix.015: obj ifoo ok submethods/ensemble-next-with-colon-prefix.016: obj info class ok submethods/ensemble-next-with-colon-prefix.017: obj foo ok notice: Running test case: ./tests/submethods.test leaf-next-in-submethods submethods/leaf-next-in-submethods.001: set _ 2 ok notice: Running test case: ./tests/submethods.test object-unknown submethods/object-unknown.001: o1 i o x ok submethods/object-unknown.002: C i o x ok submethods/object-unknown.003: C i o x y ok submethods/object-unknown.004: D i p ok submethods/object-unknown.005: D i o a ok submethods/object-unknown.006: D i o x ok submethods/object-unknown.007: D i o x y ok notice: Running test case: ./tests/submethods.test unknown-in-info submethods/unknown-in-info.001: string match {unable to dispatch sub-method "x" of ::C info; valid are:*} {unable to dispatch sub-method "x" of ::C info; valid are: info baseclass, info children, info class, info filters, info has mixin, info has namespace, info has type, info heritage, info info, info instances, info lookup filter, info lookup filters, info lookup method, info lookup methods, info lookup mixins, info lookup parameters, info lookup slots, info lookup syntax, info lookup variables, info method args, info method body, info method callprotection, info method debug, info method definition, info method definitionhandle, info method deprecated, info method exists, info method handle, info method origin, info method parameters, info method registrationhandle, info method returns, info method submethods, info method syntax, info method type, info methods, info mixinof, info mixins, info name, info object filters, info object method args, info object method body, info object method callprotection, info object method debug, info object method definition, info object method definitionhandle, info object method deprecated, info object method exists, info object method handle, info object method origin, info object method parameters, info object method registrationhandle, info object method returns, info object method submethods, info object method syntax, info object method type, info object methods, info object mixins, info object slots, info object variables, info parent, info precedence, info slots, info subclasses, info superclasses, info variable definition, info variable name, info variable parameter, info variables, info vars} ok submethods/unknown-in-info.002: string match {unable to dispatch sub-method "x" of ::C info object; valid are:*} {unable to dispatch sub-method "x" of ::C info object; valid are: info object filters, info object method args, info object method body, info object method callprotection, info object method debug, info object method definition, info object method definitionhandle, info object method deprecated, info object method exists, info object method handle, info object method origin, info object method parameters, info object method registrationhandle, info object method returns, info object method submethods, info object method syntax, info object method type, info object methods, info object mixins, info object slots, info object variables} ok notice: Running test case: ./tests/submethods.test submethods-and-filters notice: Running test case: ./tests/submethods.test submethods-current-introspection submethods/submethods-current-introspection.001: o FOO foo ok submethods/submethods-current-introspection.002: c FOO foo ok submethods/submethods-current-introspection.003: c FOO foo ok submethods/submethods-current-introspection.004: o FOO foo ok submethods/submethods-current-introspection.005: set _ faz ok submethods/submethods-current-introspection.006: instance method ensemble 1 ok submethods/submethods-current-introspection.007: instance method ensemble 2 ok submethods/submethods-current-introspection.008: instance method ok submethods/submethods-current-introspection.009: object method ensemble 1 ok submethods/submethods-current-introspection.010: object method ensemble 2 ok submethods/submethods-current-introspection.011: object method ok submethods/submethods-current-introspection.012: class level object method ensemble 1 ok submethods/submethods-current-introspection.013: class level object method ensemble 2 ok submethods/submethods-current-introspection.014: class level object method ok submethods/submethods-current-introspection.015: ::nsf::__#0 FOO foo ok submethods/submethods-current-introspection.016: ::nsf::__#0 BAR BUU boo ok submethods/submethods-current-introspection.017: ::nsf::__#0 baz ok submethods/submethods-current-introspection.018: set _ -FOO-::Z-::nsf::classes::Z::FOO ok submethods/submethods-current-introspection.019: set _ -BAR-::Z-::nsf::classes::Z::BAR ok submethods/submethods-current-introspection.020: set _ -baz-::Z-::nsf::classes::Z::baz ok notice: Running test case: ./tests/submethods.test current-args submethods/current-args.001: c1 foo ok submethods/current-args.002: c1 bar foo ok submethods/current-args.003: c1 foo -x 2 ok submethods/current-args.004: c1 bar foo -x 2 ok notice: Running test case: ./tests/submethods.test per-object-dispatch submethods/per-object-dispatch.001: c1 foo ok submethods/per-object-dispatch.002: c1 bar ok submethods/per-object-dispatch.003: c1::1 foo ok submethods/per-object-dispatch.004: c1::1 bar ok submethods/per-object-dispatch.005: c1 1 foo ok submethods/per-object-dispatch.006: c1 1 bar ok submethods/per-object-dispatch.007: c1 baz ok submethods/per-object-dispatch.008: c1 1 foo ok submethods/per-object-dispatch.009: c1 1 bar ok submethods/per-object-dispatch.010: c1 baz ok submethods/per-object-dispatch.011: c1 1 foo ok submethods/per-object-dispatch.012: c1 1 bar ok submethods/per-object-dispatch.013: c1 baz ok submethods/per-object-dispatch.014: c1 1 foo ok submethods/per-object-dispatch.015: c1 1 bar ok submethods/per-object-dispatch.016: c1 baz ok submethods/per-object-dispatch.017: c1 1 foo ok submethods/per-object-dispatch.018: c1 1 bar ok submethods/per-object-dispatch.019: c1 baz ok notice: Running test case: ./tests/submethods.test child-obj-delegation submethods/child-obj-delegation.001: 3.06 mms, obj link1 foo submethods/child-obj-delegation.002: 1.27 mms, obj link2 foo submethods/child-obj-delegation.003: 1.76 mms, obj link3 foo submethods/child-obj-delegation.004: 1.06 mms, obj link4 foo submethods/child-obj-delegation.005: 1.12 mms, obj link5 foo submethods/child-obj-delegation.006: 1.06 mms, obj child foo submethods/child-obj-delegation.007: 1.51 mms, lsort [obj info object methods child] submethods/child-obj-delegation.008: 2.22 mms, lsort [obj info object methods] submethods/child-obj-delegation.009: 1.65 mms, lsort [obj info lookup methods child] submethods/child-obj-delegation.010: 3.19 mms, lsort [obj info lookup methods child*] submethods/child-obj-delegation.011: 2.99 mms, obj link1 foo submethods/child-obj-delegation.012: 1.24 mms, obj link2 foo submethods/child-obj-delegation.013: 1.78 mms, obj link3 foo submethods/child-obj-delegation.014: 1.06 mms, obj link4 foo submethods/child-obj-delegation.015: 1.10 mms, obj link5 foo submethods/child-obj-delegation.016: 1.06 mms, obj child foo submethods/child-obj-delegation.017: 1.51 mms, lsort [obj info object methods child] submethods/child-obj-delegation.018: 2.23 mms, lsort [obj info object methods] submethods/child-obj-delegation.019: 1.67 mms, lsort [obj info lookup methods child] submethods/child-obj-delegation.020: 3.17 mms, lsort [obj info lookup methods child*] submethods/child-obj-delegation.021: 2.93 mms, obj link1 foo submethods/child-obj-delegation.022: 1.27 mms, obj link2 foo submethods/child-obj-delegation.023: 1.74 mms, obj link3 foo submethods/child-obj-delegation.024: 1.06 mms, obj link4 foo submethods/child-obj-delegation.025: 1.10 mms, obj link5 foo submethods/child-obj-delegation.026: 1.05 mms, obj child foo submethods/child-obj-delegation.027: 1.52 mms, lsort [obj info object methods child] submethods/child-obj-delegation.028: 2.25 mms, lsort [obj info object methods] submethods/child-obj-delegation.029: 1.69 mms, lsort [obj info lookup methods child] submethods/child-obj-delegation.030: 3.22 mms, lsort [obj info lookup methods child*] submethods/child-obj-delegation.031: 2.96 mms, obj link1 foo submethods/child-obj-delegation.032: 1.29 mms, obj link2 foo submethods/child-obj-delegation.033: 1.76 mms, obj link3 foo submethods/child-obj-delegation.034: 1.05 mms, obj link4 foo submethods/child-obj-delegation.035: 1.10 mms, obj link5 foo submethods/child-obj-delegation.036: 1.08 mms, obj child foo submethods/child-obj-delegation.037: 1.53 mms, lsort [obj info object methods child] submethods/child-obj-delegation.038: 2.25 mms, lsort [obj info object methods] submethods/child-obj-delegation.039: 1.66 mms, lsort [obj info lookup methods child] submethods/child-obj-delegation.040: 3.23 mms, lsort [obj info lookup methods child*] notice: Running test case: ./tests/submethods.test keepcallerself submethods/keepcallerself.001: c1 bar ok submethods/keepcallerself.002: c1 foo ok submethods/keepcallerself.003: c1 baz ok submethods/keepcallerself.004: d1 c1 bar ok submethods/keepcallerself.005: d1 c1 foo ok submethods/keepcallerself.006: d1 c1 baz ok submethods/keepcallerself.007: d1 c1 destroy ok submethods/keepcallerself.008: nsf::object::exists d1 ok submethods/keepcallerself.009: nsf::object::exists c1 ok submethods/keepcallerself.010: c1 bar ok submethods/keepcallerself.011: c1 foo ok submethods/keepcallerself.012: c1 baz ok submethods/keepcallerself.013: d1 c1 bar ok submethods/keepcallerself.014: d1 c1 foo ok submethods/keepcallerself.015: d1 c1 baz ok notice: Running test case: ./tests/submethods.test ensemble-vs-simple-method submethods/ensemble-vs-simple-method.001: nx::Class create C ok submethods/ensemble-vs-simple-method.002: C public method foo {args} {return foo/1} ok submethods/ensemble-vs-simple-method.003: C public method "foo x" {args} {return foo/2} ok submethods/ensemble-vs-simple-method.004: C public method "foo x y" {args} {return foo/3} ok submethods/ensemble-vs-simple-method.005: C public method "bar x" {args} {return bar/2} ok submethods/ensemble-vs-simple-method.006: C public method "bar x y" {args} {return foo/3} ok submethods/ensemble-vs-simple-method.007: c1 foo x y z ok submethods/ensemble-vs-simple-method.008: c1 bar x y z ok submethods/ensemble-vs-simple-method.009: nx::Object create o1 ok submethods/ensemble-vs-simple-method.010: o1 public object method foo {args} {return foo/1} ok submethods/ensemble-vs-simple-method.011: o1 public object method "foo x" {args} {return foo/2} ok submethods/ensemble-vs-simple-method.012: o1 public object method "foo x y" {args} {return foo/3} ok submethods/ensemble-vs-simple-method.013: o1 public object method "bar x" {args} {return bar/2} ok submethods/ensemble-vs-simple-method.014: o1 public object method "bar x y" {args} {return foo/3} ok submethods/ensemble-vs-simple-method.015: o1 foo x y z ok submethods/ensemble-vs-simple-method.016: o1 bar x y z ok notice: Running test case: ./tests/submethods.test ensemble-next-vs-colon-dispatch submethods/ensemble-next-vs-colon-dispatch.001: b eval { :x s } ok submethods/ensemble-next-vs-colon-dispatch.002: b eval { : x s } ok submethods/ensemble-next-vs-colon-dispatch.003: b x s ok notice: Running test case: ./tests/submethods.test ensemble-callstack-introspection submethods/ensemble-callstack-introspection.001: b eval { :i s } ok submethods/ensemble-callstack-introspection.002: ::nsf::cmd::info args [lindex [b eval { :i s }] 0] ok submethods/ensemble-callstack-introspection.003: ::nsf::cmd::info definitionhandle [lindex [b eval { :i s }] 0] ok submethods/ensemble-callstack-introspection.004: ::nsf::cmd::info body [lindex [b eval { :i s }] 0] ok submethods/ensemble-callstack-introspection.005: b i s ok submethods/ensemble-callstack-introspection.006: ::nsf::cmd::info args [lindex [b i s] 0] ok submethods/ensemble-callstack-introspection.007: ::nsf::cmd::info definitionhandle [lindex [b i s] 0] ok submethods/ensemble-callstack-introspection.008: ::nsf::cmd::info body [lindex [b i s] 0] ok submethods/ensemble-callstack-introspection.009: a eval { :i s } ok submethods/ensemble-callstack-introspection.010: a i s ok notice: Running test case: ./tests/submethods.test ensemble-forwards submethods/ensemble-forwards.001: info commands ::nsf::__#2::slot::__foo::1 ok submethods/ensemble-forwards.002: info commands ::nsf::__#2::slot::__foo::2 ok submethods/ensemble-forwards.003: info commands ::nsf::__#2::slot::__foo::3 ok submethods/ensemble-forwards.004: info commands ::nsf::__#2::slot::__foo::4 ok submethods/ensemble-forwards.005: info commands ::nsf::__#2::foo::5 ok submethods/ensemble-forwards.006: info commands ::nsf::__#2::foo::6 ok submethods/ensemble-forwards.007: info commands ::nsf::__#2::foo::7 ok submethods/ensemble-forwards.008: info commands ::nsf::__#2::foo::8 ok submethods/ensemble-forwards.009: ::nsf::__#2 foo 6 ok Warning: '::nsf::__#2 foo 5' fails since method ::nsf::__#2.foo 5 is protected submethods/ensemble-forwards.010: ::nsf::__#2 foo 5 ok submethods/ensemble-forwards.011: ::nsf::__#2 eval {:foo 5} ok Warning: '::nsf::__#2 foo 7' fails since method ::nsf::__#2.foo 7 is protected submethods/ensemble-forwards.012: ::nsf::__#2 foo 7 ok submethods/ensemble-forwards.013: ::nsf::__#2 eval {:foo 7} ok submethods/ensemble-forwards.014: ::nsf::__#2 foo 8 ok submethods/ensemble-forwards.015: ::nsf::__#2 eval {:foo 8} ok submethods/ensemble-forwards.016: ::nsf::__#2 eval {: -local foo 8} ok submethods/ensemble-forwards.017: ::nsf::__#3 foo 2 ok Warning: '::nsf::__#3 foo 1' fails since method ::nsf::__#2.foo 1 is protected submethods/ensemble-forwards.018: ::nsf::__#3 foo 1 ok submethods/ensemble-forwards.019: ::nsf::__#3 eval {:foo 1} ok Warning: '::nsf::__#3 foo 3' fails since method ::nsf::__#2.foo 3 is protected submethods/ensemble-forwards.020: ::nsf::__#3 foo 3 ok submethods/ensemble-forwards.021: ::nsf::__#3 eval {:foo 3} ok submethods/ensemble-forwards.022: ::nsf::__#3 foo 4 ok submethods/ensemble-forwards.023: ::nsf::__#3 eval {:foo 4} ok submethods/ensemble-forwards.024: ::nsf::__#3 eval {: -local foo 4} ok notice: Running test case: ./tests/submethods.test ensemble-private-helper submethods/ensemble-private-helper.001: b1 bar 1 ok submethods/ensemble-private-helper.002: b1 baz 1 ok submethods/ensemble-private-helper.003: b1 foo ok submethods/ensemble-private-helper.004: b1 foo2 ok submethods/ensemble-private-helper.005: c1 bar 1 ok submethods/ensemble-private-helper.006: c1 baz 1 ok submethods/ensemble-private-helper.007: c1 foo ok submethods/ensemble-private-helper.008: c1 foo2 ok notice: Running test case: ./tests/submethods.test ensemble-private-local-checks submethods/ensemble-private-local-checks.001: b1 faa ok submethods/ensemble-private-local-checks.002: b1 foo ok submethods/ensemble-private-local-checks.003: b1 fee1 ok submethods/ensemble-private-local-checks.004: b1 fee2 ok submethods/ensemble-private-local-checks.005: b1 FOO1 ok submethods/ensemble-private-local-checks.006: b1 FOO2 ok submethods/ensemble-private-local-checks.007: b1 FOO3 FAR FIM ok submethods/ensemble-private-local-checks.008: c1 faa ok submethods/ensemble-private-local-checks.009: c1 foo ok submethods/ensemble-private-local-checks.010: c1 fee1 ok submethods/ensemble-private-local-checks.011: c1 fee2 ok submethods/ensemble-private-local-checks.012: c1 FOO1 ok submethods/ensemble-private-local-checks.013: c1 FOO2 ok submethods/ensemble-private-local-checks.014: c1 FOO3 FAR FIM ok notice: Running test case: ./tests/submethods.test ensemble-next-sackgasse submethods/ensemble-next-sackgasse.001: b i o a ok submethods/ensemble-next-sackgasse.002: b i o b ok submethods/ensemble-next-sackgasse.003: b i s ok submethods/ensemble-next-sackgasse.004: c bar ok submethods/ensemble-next-sackgasse.005: return -level 0 {::c: unable to dispatch method 'bar'} ok submethods/ensemble-next-sackgasse.006: c foo x ok submethods/ensemble-next-sackgasse.007: return -level 0 {unable to dispatch sub-method "x" of ::c foo; valid are: foo a b c} ok submethods/ensemble-next-sackgasse.008: c foo x b c ok submethods/ensemble-next-sackgasse.009: return -level 0 {unable to dispatch sub-method "x" of ::c foo; valid are: foo a b c} ok submethods/ensemble-next-sackgasse.010: c foo a y ok submethods/ensemble-next-sackgasse.011: return -level 0 {unable to dispatch sub-method "y" of ::c foo a; valid are: foo a b c} ok submethods/ensemble-next-sackgasse.012: c foo a y c ok submethods/ensemble-next-sackgasse.013: return -level 0 {unable to dispatch sub-method "y" of ::c foo a; valid are: foo a b c} ok submethods/ensemble-next-sackgasse.014: c foo a b z ok submethods/ensemble-next-sackgasse.015: return -level 0 {unable to dispatch sub-method "z" of ::c foo a b; valid are: foo a b c} ok submethods/ensemble-next-sackgasse.016: c foo a b z d ok submethods/ensemble-next-sackgasse.017: return -level 0 {unable to dispatch sub-method "z" of ::c foo a b; valid are: foo a b c} ok submethods/ensemble-next-sackgasse.018: c foo a b c ok submethods/ensemble-next-sackgasse.019: return -level 0 ok ok submethods/ensemble-next-sackgasse.020 hint: we could compare with errorCode: TCL WRONGARGS submethods/ensemble-next-sackgasse.020: c foo a b c d ok submethods/ensemble-next-sackgasse.021: return -level 0 {wrong # args: should be "c"} ok Summary: Test-set submethods tests 265 success 265 failure 0 ms 77 TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./tests`/info-variable.test -libdir `echo ./unix` -testlog ./__test.log notice: Running test case: ./tests/info-variable.test configure-parameters info-variable/configure-parameters.001: join [Person info lookup parameters create] \n ok info-variable/configure-parameters.002: Person info lookup parameters create age ok info-variable/configure-parameters.003: Person info lookup parameters create {*a[gs]*} ok info-variable/configure-parameters.004: Person info lookup syntax create ok info-variable/configure-parameters.005: Person info method parameters foo ok info-variable/configure-parameters.006: Person info method parameters foo force ok info-variable/configure-parameters.007: Person info method parameters foo {*a[gm]*} ok info-variable/configure-parameters.008: Person info method syntax foo ok info-variable/configure-parameters.009: nsf::parameter::info default {} ok info-variable/configure-parameters.010: nsf::parameter::info syntax {} ok info-variable/configure-parameters.011: nsf::parameter::info type {} ok info-variable/configure-parameters.012: nsf::parameter::info list {} ok info-variable/configure-parameters.013: nsf::parameter::info name {} ok info-variable/configure-parameters.014: nsf::parameter::info syntax age:integer ok info-variable/configure-parameters.015: nsf::parameter::info syntax -force:switch ok info-variable/configure-parameters.016: nsf::parameter::info name "a b" ok info-variable/configure-parameters.017: lmap p [Person info lookup parameters create] {nsf::parameter::info default $p} ok info-variable/configure-parameters.018: lmap p [Person info method parameters foo] {nsf::parameter::info default $p} ok info-variable/configure-parameters.019: lmap p [Foo info lookup parameters create] {nsf::parameter::info name $p} ok info-variable/configure-parameters.020: lmap p [Foo info lookup parameters create] {nsf::parameter::info default $p} ok info-variable/configure-parameters.021: lmap p [Foo info lookup parameters create] {nsf::parameter::info type $p} ok info-variable/configure-parameters.022: join [lsort [::Foo info slots]] \n ok info-variable/configure-parameters.023: ::Foo info lookup parameters create ? ok info-variable/configure-parameters.024: ::Foo::slot::b definition ok info-variable/configure-parameters.025: ::Foo::slot::i definition ok info-variable/configure-parameters.026: ::Foo::slot::____Foo.p definition ok info-variable/configure-parameters.027: ::Foo::slot::d definition ok info-variable/configure-parameters.028: ::Foo::slot::e definition ok info-variable/configure-parameters.029: ::Foo::slot::q definition ok info-variable/configure-parameters.030: join [lsort [::f1 info lookup slots]] \n ok info-variable/configure-parameters.031: f1 cget -p ok info-variable/configure-parameters.032: f1 m ok info-variable/configure-parameters.033: lsort [f1 info vars] ok info-variable/configure-parameters.034: llength [::f1 info lookup variables] ok info-variable/configure-parameters.035: join [lsort [::f1 info lookup variables]] \n ok info-variable/configure-parameters.036: lsort [::f1 info lookup variables p] ok info-variable/configure-parameters.037: llength [::Foo info variables] ok info-variable/configure-parameters.038: join [lsort [::Foo info variables]] \n ok info-variable/configure-parameters.039: ::Foo info variables p ok info-variable/configure-parameters.040: ::Foo info slots p ok info-variable/configure-parameters.041: join [lmap handle $::vs {::Foo info variable definition $handle}] \n ok info-variable/configure-parameters.042: join $::ps \n ok info-variable/configure-parameters.043: lmap handle $::vs {::Foo info variable name $handle} ok info-variable/configure-parameters.044: lmap handle $::ps {nsf::parameter::info name $handle} ok info-variable/configure-parameters.045: lmap handle $::ps {nsf::parameter::info default $handle} ok info-variable/configure-parameters.046: lmap handle $::ps {nsf::parameter::info type $handle} ok info-variable/configure-parameters.047: nsf::parameter::info default "b:integer 123" ::var1 ok info-variable/configure-parameters.048: set ::var1 ok info-variable/configure-parameters.049: nsf::parameter::info default "b:integer 123" ::var2 ok info-variable/configure-parameters.050: set ::var2 ok notice: Running test case: ./tests/info-variable.test object-variables info-variable/object-variables.001: llength $::ovs ok info-variable/object-variables.002: join $::ovs "\n" ok info-variable/object-variables.003: join [lmap handle $::ovs {::f2 info variable definition $handle}] \n ok info-variable/object-variables.004: lmap handle $::ovs {::f2 info variable parameter $handle} ok info-variable/object-variables.005: lmap handle $::ovs {::f2 info variable name $handle} ok info-variable/object-variables.006: llength $::ovs ok info-variable/object-variables.007: join $::ovs "\n" ok info-variable/object-variables.008: llength $::ovs ok info-variable/object-variables.009: join $::ovs "\n" ok Summary: Test-set info-variable tests 59 success 59 failure 0 ms 1 TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./tests`/disposition.test -libdir `echo ./unix` -testlog ./__test.log notice: Running test case: ./tests/disposition.test basics disposition/basics.001: C method m1 -foo:forward {;} ok disposition/basics.002: C method m1 foo:forward {;} ok disposition/basics.003 hint: we could compare with errorCode: NSF VALUE CONSTRAINT disposition/basics.003: ::nsf::is forward {parameter option 'forward' not allowed} ok disposition/basics.004: C method m1 -foo:alias {;} ok disposition/basics.005: C method m1 foo:alias {;} ok disposition/basics.006 hint: we could compare with errorCode: NSF VALUE CONSTRAINT disposition/basics.006: ::nsf::is alias {parameter option 'alias' not allowed} ok disposition/basics.007: [C new -baz BAZ] eval {info exists :baz} ok disposition/basics.008: [C new -baz BAZ] eval {info exists :baz} ok disposition/basics.009: C new FOO ok disposition/basics.010: C new {FOO FAA} ok disposition/basics.011: C new ok disposition/basics.012: [C new] eval {set :foo} ok disposition/basics.013 hint: we could compare with errorCode: TCL WRONGARGS disposition/basics.013: [C new -multi-2 {X Y}] eval {set :multi-2} ok disposition/basics.014: [C new -multi-escape [list X Y]] eval {set :multi-escape} ok disposition/basics.015: [C new -multi-args [list X Y]] eval {set :multi-args} ok disposition/basics.016: [C new -multi-2 {X Y}] eval {set :multi-2} ok disposition/basics.017: C new FOO ok disposition/basics.018: [C new FOO] eval {set :foo} ok disposition/basics.019: [C new -multi-mix [list -x X Y Z 1 2]] eval {set :multi-mix} ok disposition/basics.020: [C new -single-np [list -x]] eval {set :single-np} ok disposition/basics.021: [C new -single-np [list -x X]] eval {set :single-np} ok disposition/basics.022: check: -foo:alias,boolean ok disposition/basics.023: check: -foo:alias,integer ok disposition/basics.024: check: -foo:alias,object ok disposition/basics.025: check: -foo:alias,class ok disposition/basics.026: check: -foo:alias,object,type=::nx::Class ok disposition/basics.027: ::nsf::is boolean [[::C new -foo f] eval {set :foo}] ok disposition/basics.028: ::nsf::is integer [[::C new -foo 81] eval {set :foo}] ok disposition/basics.029: ::nsf::is object [[::C new -foo ::C] eval {set :foo}] ok disposition/basics.030: ::nsf::is class [[::C new -foo ::C] eval {set :foo}] ok disposition/basics.031: ::nsf::is object,type=::nx::Class [[::C new -foo ::C] eval {set :foo}] ok disposition/basics.032: switch not allowed for alias ok disposition/basics.033: disposition alias, user defined type, valid value ok disposition/basics.034: disposition alias, user defined type, invalid value ok Warning: Could not find value checker type=xxx defined on ::nx::methodParameterSlot disposition/basics.035: disposition alias, unknown user defined type - just a warning ok disposition/basics.036: C new ok disposition/basics.037: C new ok disposition/basics.038: switch not allowed for forward ok disposition/basics.039: disposition forward, user defined type, valid value ok disposition/basics.040: disposition forward, user defined type, invalid value ok Warning: Could not find value checker type=xxx defined on ::nx::methodParameterSlot disposition/basics.041: disposition forward, unknown user defined type - just a warning ok disposition/basics.042: C new ok disposition/basics.043: C new ok disposition/basics.044: C new ok disposition/basics.045: C new ok disposition/basics.046: C new ok disposition/basics.047: C new ok disposition/basics.048: C new ok notice: Running test case: ./tests/disposition.test dispo-multiplicities disposition/dispo-multiplicities.001: [S new -foo [list f f]] eval {info exists :foo} ok disposition/dispo-multiplicities.002: [S new -foo [list a 1]] eval {info exists :foo} ok disposition/dispo-multiplicities.003: [S new -foo [list 0 1]] eval {info exists :foo} ok disposition/dispo-multiplicities.004: [S new -foo [list]] eval {info exists :foo} ok disposition/dispo-multiplicities.005: [S new -foo 5] eval {info exists :foo} ok disposition/dispo-multiplicities.006: [S new -foo f] eval {info exists :foo} ok disposition/dispo-multiplicities.007: [S new -foo [list a 1]] eval {info exists :foo} ok disposition/dispo-multiplicities.008: [S new -foo [list f 0]] eval {info exists :foo} ok disposition/dispo-multiplicities.009: [S new -foo [list t]] eval {info exists :foo} ok disposition/dispo-multiplicities.010: [S new -foo [list f]] eval {info exists :foo} ok disposition/dispo-multiplicities.011: [S new -foo [list]] eval {info exists :foo} ok notice: Running test case: ./tests/disposition.test dispo-returns disposition/dispo-returns.001 hint: we could compare with errorCode: NSF VALUE CONSTRAINT disposition/dispo-returns.001: R raz ok disposition/dispo-returns.002 hint: we could compare with errorCode: NSF VALUE CONSTRAINT disposition/dispo-returns.002: R raz ok disposition/dispo-returns.003 hint: we could compare with errorCode: NSF VALUE CONSTRAINT disposition/dispo-returns.003: R raz ok disposition/dispo-returns.004 hint: we could compare with errorCode: NSF VALUE CONSTRAINT disposition/dispo-returns.004: R raz ok disposition/dispo-returns.005: [R new] foo t ok disposition/dispo-returns.006: [R new -foo t f] eval {info exists :bar} ok disposition/dispo-returns.007: [R new -foo t f [expr {2 ** 31}]] eval {info exists :foo} ok disposition/dispo-returns.008: [R new -foo t f] eval {info exists :baz} ok disposition/dispo-returns.009: [R new -foo t f] eval {info exists :baz} ok disposition/dispo-returns.010: string is wideinteger [[R new -foo t f] eval {set :baz}] ok notice: Running test case: ./tests/disposition.test dispo-callstack disposition/dispo-callstack.001: info exists X ok disposition/dispo-callstack.002: info exists ix ok disposition/dispo-callstack.003: Callee new; info exists ix ok disposition/dispo-callstack.004: set X ok disposition/dispo-callstack.005: Callee new; info exists X ok disposition/dispo-callstack.006: Callee new; set X ok disposition/dispo-callstack.007: Callee new; set ix ok disposition/dispo-callstack.008: Callee new -ah X X; set ix ok disposition/dispo-callstack.009: set X ok disposition/dispo-callstack.010: info exists Y ok disposition/dispo-callstack.011: Callee new -ah X Y; set Y ok disposition/dispo-callstack.012: set X ok disposition/dispo-callstack.013: set ix ok disposition/dispo-callstack.014: info exists X ok disposition/dispo-callstack.015: info exists ix ok disposition/dispo-callstack.016: Callee new; info exists ix ok disposition/dispo-callstack.017: set X ok disposition/dispo-callstack.018: Callee new; info exists X ok disposition/dispo-callstack.019: Callee new; set X ok disposition/dispo-callstack.020: Callee new; set ix ok disposition/dispo-callstack.021: Callee new -ah X X; set ix ok disposition/dispo-callstack.022: set X ok disposition/dispo-callstack.023: info exists Y ok disposition/dispo-callstack.024: Callee new -ah X Y; set Y ok disposition/dispo-callstack.025: set X ok disposition/dispo-callstack.026: set ix ok disposition/dispo-callstack.027: info exists X ok disposition/dispo-callstack.028: info exists ix ok disposition/dispo-callstack.029: Callee new; info exists ix ok disposition/dispo-callstack.030: set X ok disposition/dispo-callstack.031: Callee new; info exists X ok disposition/dispo-callstack.032: Callee new; set X ok disposition/dispo-callstack.033: Callee new; set ix ok disposition/dispo-callstack.034: Callee new -ah X X; set ix ok disposition/dispo-callstack.035: set X ok disposition/dispo-callstack.036: info exists Y ok disposition/dispo-callstack.037: Callee new -ah X Y; set Y ok disposition/dispo-callstack.038: set X ok disposition/dispo-callstack.039: set ix ok disposition/dispo-callstack.040: set _ 0 ok disposition/dispo-callstack.041: set _ 0 ok disposition/dispo-callstack.042: after 1. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.043: after 1. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.044: after 2. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.045: after 3. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.046: after 4. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.047: after 5. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.048: after 5. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.049: set _ 0 ok disposition/dispo-callstack.050: after 6. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.051: after 6. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.052: set _ Y ok disposition/dispo-callstack.053: set _ 0 ok disposition/dispo-callstack.054: set _ 0 ok disposition/dispo-callstack.055: after 1. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.056: after 1. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.057: after 2. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.058: after 3. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.059: after 4. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.060: after 5. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.061: after 5. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.062: set _ 0 ok disposition/dispo-callstack.063: after 6. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.064: after 6. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.065: set _ Y ok disposition/dispo-callstack.066: set _ 0 ok disposition/dispo-callstack.067: set _ 0 ok disposition/dispo-callstack.068: after 1. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.069: after 1. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.070: after 2. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.071: after 3. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.072: after 4. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.073: after 5. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.074: after 5. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.075: set _ 0 ok disposition/dispo-callstack.076: after 6. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.077: after 6. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.078: set _ Y ok disposition/dispo-callstack.079: set _ 0 ok disposition/dispo-callstack.080: set _ 0 ok disposition/dispo-callstack.081: after 1. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.082: after 1. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.083: after 2. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.084: after 3. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.085: after 4. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.086: after 5. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.087: after 5. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.088: set _ 0 ok disposition/dispo-callstack.089: after 6. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.090: after 6. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.091: set _ Y ok disposition/dispo-callstack.092: set _ 0 ok disposition/dispo-callstack.093: set _ 0 ok disposition/dispo-callstack.094: after 1. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.095: after 1. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.096: after 2. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.097: after 3. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.098: after 4. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.099: after 5. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.100: after 5. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.101: set _ 0 ok disposition/dispo-callstack.102: after 6. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.103: after 6. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.104: set _ Y ok disposition/dispo-callstack.105: set _ 0 ok disposition/dispo-callstack.106: set _ 0 ok disposition/dispo-callstack.107: after 1. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.108: after 1. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.109: after 2. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.110: after 3. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.111: after 4. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.112: after 5. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.113: after 5. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.114: set _ 0 ok disposition/dispo-callstack.115: after 6. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.116: after 6. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.117: set _ Y ok disposition/dispo-callstack.118: set _ 0 ok disposition/dispo-callstack.119: set _ 0 ok disposition/dispo-callstack.120: after 1. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.121: after 1. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.122: after 2. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.123: after 3. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.124: after 4. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.125: after 5. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.126: after 5. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.127: set _ 0 ok disposition/dispo-callstack.128: after 6. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.129: after 6. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.130: set _ Y ok disposition/dispo-callstack.131: set _ 0 ok disposition/dispo-callstack.132: set _ 0 ok disposition/dispo-callstack.133: after 1. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.134: after 1. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.135: after 2. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.136: after 3. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.137: after 4. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.138: after 5. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.139: after 5. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.140: set _ 0 ok disposition/dispo-callstack.141: after 6. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.142: after 6. uplevel/upvar calls ('-mixins:mixinreg,slot=::nx::Class::slot::mixins,slotset,method=class-mixin,0..n {-superclasses:class,alias,method=::nsf::methods::class::superclass,1..n ::nx::Object} -filters:filterreg,slot=::nx::Class::slot::filters,slotset,method=class-filter,0..n -object-mixins:mixinreg,slot=::nx::Object::slot::object-mixins,slotset,method=object-mixin,0..n -object-filters:filterreg,slot=::nx::Object::slot::object-filters,slotset,method=object-filter,0..n -class:class,alias,method=::nsf::methods::object::class __initblock:cmd,optional,nodashalnum') ok disposition/dispo-callstack.143: set _ Y ok notice: Running test case: ./tests/disposition.test alias-noarg disposition/alias-noarg.001: c1 eval {info exists :bar} ok disposition/alias-noarg.002: c1 eval {info exists :x} ok disposition/alias-noarg.003: c1 eval {info exists :bar} ok disposition/alias-noarg.004: c1 eval {info exists :foo} ok disposition/alias-noarg.005: c1 eval {info exists :foo} ok disposition/alias-noarg.006: c1 eval {info exists :bar} ok disposition/alias-noarg.007: c1 eval {info exists :foo} ok disposition/alias-noarg.008: c1 eval {info exists :x} ok disposition/alias-noarg.009: c1 eval {info exists :x} ok disposition/alias-noarg.010: c1 eval {info exists :x} ok disposition/alias-noarg.011: c2 eval {info exists :x} ok disposition/alias-noarg.012: c1 eval {info exists :x} ok disposition/alias-noarg.013: c1 eval {info exists :foo} ok disposition/alias-noarg.014: c1 eval {info exists :bar} ok disposition/alias-noarg.015: c1 eval {info exists :x} ok disposition/alias-noarg.016: c1 eval {info exists :foo} ok disposition/alias-noarg.017: c1 eval {info exists :bar} ok disposition/alias-noarg.018: c1 eval {info exists :x} ok disposition/alias-noarg.019: c1 eval {info exists :foo} ok disposition/alias-noarg.020: c1 eval {info exists :bar} ok disposition/alias-noarg.021: c1 eval {info exists :foo} ok disposition/alias-noarg.022: c1 eval {info exists :bar} ok disposition/alias-noarg.023: c1 eval {info exists :x} ok disposition/alias-noarg.024: c1 eval {info exists :foo} ok disposition/alias-noarg.025: c1 eval {info exists :bar} ok disposition/alias-noarg.026: c1 eval {info exists :x} ok disposition/alias-noarg.027: c1 eval {info exists :foo} ok disposition/alias-noarg.028: c1 eval {info exists :bar} ok disposition/alias-noarg.029: c1 eval {info exists :x} ok disposition/alias-noarg.030: c1 eval {info exists :foo} ok disposition/alias-noarg.031: c1 eval {info exists :bar} ok disposition/alias-noarg.032: c1 eval {info exists :x} ok notice: Running test case: ./tests/disposition.test alias-noarg disposition/alias-noarg.033: C create c1 ok notice: Running test case: ./tests/disposition.test alias-args disposition/alias-args.001: C create c1 ok disposition/alias-args.002: c1 eval {info exists :args} ok disposition/alias-args.003: D create c1 ok disposition/alias-args.004: c1 eval {info exists :args} ok disposition/alias-args.005: C create c1 1 2 3 ok disposition/alias-args.006: c1 eval {info exists :args} ok disposition/alias-args.007: c1 eval {set :args} ok disposition/alias-args.008: D create c1 1 2 3 ok disposition/alias-args.009: c1 eval {info exists :args} ok disposition/alias-args.010: c1 eval {set :args} ok disposition/alias-args.011: C create c1 ok disposition/alias-args.012: c1 eval {info exists :args} ok disposition/alias-args.013: c1 eval {set :args} ok disposition/alias-args.014: C create c1 a b c ok disposition/alias-args.015: c1 eval {info exists :args} ok disposition/alias-args.016: c1 eval {set :args} ok disposition/alias-args.017: C create c1 ok disposition/alias-args.018: nsf::is object c1 ok disposition/alias-args.019: C create c1 ok disposition/alias-args.020: nsf::is object c1 ok disposition/alias-args.021: C create c1 ok disposition/alias-args.022: nsf::is object c1 ok disposition/alias-args.023: C create c1 ok disposition/alias-args.024: nsf::is object c1 ok disposition/alias-args.025: C create c1 hello world ok disposition/alias-args.026: nsf::is object c1 ok notice: Running test case: ./tests/disposition.test alias-init disposition/alias-init.001: C create c1 ok disposition/alias-init.002: c1 eval {set :y} ok notice: Running test case: ./tests/disposition.test submethods-via-aliasparams disposition/submethods-via-aliasparams.001: [C create c1] FOO foo; # N c1 eval {set :msg} ok disposition/submethods-via-aliasparams.002: [C create c3] BAR BOO buu; # N c3 eval {set :msg} ok disposition/submethods-via-aliasparams.003: [C create c2 foo] eval {set :msg}; # N ok disposition/submethods-via-aliasparams.004: [C create c1] FOO foo; # N c1 eval {set :msg} ok disposition/submethods-via-aliasparams.005: [C create c2 foo] eval {set :msg}; # N ok disposition/submethods-via-aliasparams.006: [C create c1] FOO foo; # N c1 eval {set :msg} ok disposition/submethods-via-aliasparams.007: [C create c2 foo] eval {set :msg}; # N ok disposition/submethods-via-aliasparams.008: C::slot::__FOO foo ok disposition/submethods-via-aliasparams.009: [C create c1] FOO foo; # N c1 eval {set :msg} ok disposition/submethods-via-aliasparams.010: C::slot::__FOO foo ok disposition/submethods-via-aliasparams.011: [C create c1] FOO foo; # N c1 eval {set :msg} ok disposition/submethods-via-aliasparams.012: #puts stderr "/ / / / / / / / / / / " [C create c1] FOO foo; # N #puts stderr "/ / / / / / / / / / / " c1 eval {set :msg} ok notice: Running test case: ./tests/disposition.test dispo-configure-transparency disposition/dispo-configure-transparency.001: [C create c] FOO ok disposition/dispo-configure-transparency.002: C create c ok disposition/dispo-configure-transparency.003: [C create c -show me] eval {info exists :msg} ok disposition/dispo-configure-transparency.004: [C create c -show me] eval {set :msg} ok disposition/dispo-configure-transparency.005: C create c ok disposition/dispo-configure-transparency.006: Defaultmethod of callee is invoked ... ok disposition/dispo-configure-transparency.007: foo leaf method is selected ... ok disposition/dispo-configure-transparency.008: With mixin ... ok disposition/dispo-configure-transparency.009: With mixin ... ok notice: Running test case: ./tests/disposition.test dispo-object-targets disposition/dispo-object-targets.001: Aliased dispatch to defaultmethod ok disposition/dispo-object-targets.002: Aliased dispatch to unknown method (default unknown handler) ok disposition/dispo-object-targets.003: Aliased dispatch to unknown method (custom unknown handler) ok disposition/dispo-object-targets.004: Aliased dispatch to unknown method (custom unknown handler) ok Notice: Don't invoke object ::obj this way. Register object via alias ... disposition/dispo-object-targets.005: FQ dispatch with default unknown handler ok Notice: Don't invoke object ::obj this way. Register object via alias ... disposition/dispo-object-targets.006: FQ dispatch with custom unknown handler ok disposition/dispo-object-targets.007: Calling defaultmethod via alias+noarg combo with empty default ok disposition/dispo-object-targets.008: Calling defaultmethod via alias+noarg nonempty with default combo (default is not passed) ok disposition/dispo-object-targets.009: sending the msg: tt->z() ok disposition/dispo-object-targets.010: T create t XXX ok disposition/dispo-object-targets.011: sending the msg: tt->z(::obj)->YYY() ok disposition/dispo-object-targets.012: sending the msg: tt->z(::obj)->YYY() ok disposition/dispo-object-targets.013: sending the msg: tt->z(::obj)->YYY() ok disposition/dispo-object-targets.014: sending the msg: tt->z(::obj)->YYY() ok disposition/dispo-object-targets.015: sending the msg: tt->z->{}() ok disposition/dispo-object-targets.016: sending the msg: tt->z->{}() ok disposition/dispo-object-targets.017: sending the msg: tt->z() ok disposition/dispo-object-targets.018: ::t ::nsf::classes::T::z XXX ok disposition/dispo-object-targets.019: Non-object FQ selector with default unknown handler ok disposition/dispo-object-targets.020: Non-object FQ selector with custom unknown handler ok disposition/dispo-object-targets.021: [T create t XXX] eval {info exists :baz} ok disposition/dispo-object-targets.022: [T create t XXX] eval {set :baz} ok notice: Running test case: ./tests/disposition.test xotcl-residualargs XOTcl loaded: 2.4.0 disposition/xotcl-residualargs.001: ::xotcl::Class create XD -set x 1 ok disposition/xotcl-residualargs.002: XD __object_configureparameter ok disposition/xotcl-residualargs.003: x1 exists x ok disposition/xotcl-residualargs.004: x1 exists args ok disposition/xotcl-residualargs.005: x1 set args ok notice: Running test case: ./tests/disposition.test xotcl-residualargs2 disposition/xotcl-residualargs2.001: 4.05 mms, XC create xc1 -a 1 disposition/xotcl-residualargs2.002: 4.86 mms, XC create xc2 x y -a 1 disposition/xotcl-residualargs2.003: 4.02 mms, C create c1 -a 1 disposition/xotcl-residualargs2.004: 1.11 mms, xc2 eval {info exists :a} disposition/xotcl-residualargs2.005: 1.11 mms, xc2 eval {set :x} disposition/xotcl-residualargs2.006: 1.14 mms, xc2 eval {set :y} disposition/xotcl-residualargs2.007: 1.10 mms, c1 eval {info exists :a} disposition/xotcl-residualargs2.008: 1.08 mms, c1 eval {set :y} notice: Running test case: ./tests/disposition.test xotcl-residualargs-upleveling disposition/xotcl-residualargs-upleveling.001: 0.68 mms, set _ 0 disposition/xotcl-residualargs-upleveling.002: 0.69 mms, set _ 0 disposition/xotcl-residualargs-upleveling.003: 0.70 mms, set _ 1 disposition/xotcl-residualargs-upleveling.004: 0.73 mms, set _ Y disposition/xotcl-residualargs-upleveling.005: 0.66 mms, set _ 1 disposition/xotcl-residualargs-upleveling.006: 0.67 mms, set _ 1 disposition/xotcl-residualargs-upleveling.007: 0.81 mms, set _ 0 disposition/xotcl-residualargs-upleveling.008: 0.77 mms, set _ 0 disposition/xotcl-residualargs-upleveling.009: 0.69 mms, set _ 1 disposition/xotcl-residualargs-upleveling.010: 0.92 mms, set _ Y disposition/xotcl-residualargs-upleveling.011: 0.67 mms, set _ 1 disposition/xotcl-residualargs-upleveling.012: 0.68 mms, set _ 1 notice: Running test case: ./tests/disposition.test class-configure-default disposition/class-configure-default.001: 1.03 mms, P info superclasses disposition/class-configure-default.002: 0.94 mms, Q info superclasses disposition/class-configure-default.003: 0.93 mms, Q info superclasses Summary: Test-set disposition tests 344 success 344 failure 0 ms 38 TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./tests`/volatile.test -libdir `echo ./unix` -testlog ./__test.log notice: Running test case: ./tests/volatile.test methods-methods volatile/methods-methods.001: bar: ::c1 destroyed too early ok volatile/methods-methods.002: foox: ::c1 destroyed too late ok volatile/methods-methods.003: bar: ::c1 destroyed too early ok volatile/methods-methods.004: foox: ::c1 destroyed too late ok volatile/methods-methods.005: bar: ::nsf::__#0 destroyed too early ok volatile/methods-methods.006: foox: ::nsf::__#0 destroyed too late ok volatile/methods-methods.007: bar: ::c1 destroyed too early ok volatile/methods-methods.008: foon: ::c1 destroyed too late ok volatile/methods-methods.009: bar: ::nsf::__#1 destroyed too early ok volatile/methods-methods.010: foon: ::nsf::__#1 destroyed too late ok notice: Running test case: ./tests/volatile.test methods-procs volatile/methods-procs.001: bar: ::c1 destroyed too early ok volatile/methods-procs.002: foox: ::c1 destroyed too late ok volatile/methods-procs.003: bar: ::c1 destroyed too early ok volatile/methods-procs.004: foox: ::c1 destroyed too late ok volatile/methods-procs.005: bar: ::nsf::__#2 destroyed too early ok volatile/methods-procs.006: foox: ::nsf::__#2 destroyed too late ok volatile/methods-procs.007: bar: ::c1 destroyed too early ok volatile/methods-procs.008: foon: ::c1 destroyed too late ok volatile/methods-procs.009: bar: ::nsf::__#3 destroyed too early ok volatile/methods-procs.010: foon: ::nsf::__#3 destroyed too late ok notice: Running test case: ./tests/volatile.test procs-procs volatile/procs-procs.001: bar: ::c1 destroyed too early ok volatile/procs-procs.002: foox: ::c1 destroyed too late ok volatile/procs-procs.003: bar: ::c1 destroyed too early ok volatile/procs-procs.004: foox: ::c1 destroyed too late ok volatile/procs-procs.005: bar: ::nsf::__#4 destroyed too early ok volatile/procs-procs.006: foox: ::nsf::__#4 destroyed too late ok volatile/procs-procs.007: bar: ::c1 destroyed too early ok volatile/procs-procs.008: foon: ::c1 destroyed too late ok volatile/procs-procs.009: bar: ::nsf::__#5 destroyed too early ok volatile/procs-procs.010: foon: ::nsf::__#5 destroyed too late ok notice: Running test case: ./tests/volatile.test self-context-volatile volatile/self-context-volatile.001: ::nsf::__#6 ok volatile/self-context-volatile.002: ::nsf::__#7 ok volatile/self-context-volatile.003: ::nsf::__#8 ok volatile/self-context-volatile.004: info commands ::nsf::__#6 ok volatile/self-context-volatile.005: info commands ::nsf::__#7 ok volatile/self-context-volatile.006: info commands ::nsf::__#8 ok Summary: Test-set volatile tests 36 success 36 failure 0 ms 1 TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./tests`/parameters.test -libdir `echo ./unix` -testlog ./__test.log notice: Running test case: ./tests/parameters.test dummy parameters/dummy.001: ::namespace current ok parameters/dummy.002: ::nsf::object::exists ::o ok parameters/dummy.003: ::nsf::object::exists ::o ok notice: Running test case: ./tests/parameters.test syntax parameters/syntax.001: ::nsf::method::alias C ok parameters/syntax.002: ::nsf::method::alias C foo ::set ok parameters/syntax.003: ::nsf::method::alias C foo ::set 1 ok parameters/syntax.004: Test whether the colon prefix is suppressed ok notice: Running test case: ./tests/parameters.test parametercheck parameters/parametercheck.001: 0.70 mms, ::nsf::object::exists o1 parameters/parametercheck.002: 0.91 mms, ::nsf::object::exists o1000 parameters/parametercheck.003: 0.78 mms, ::nsf::is class C parameters/parametercheck.004: 1.07 mms, C info has type ::nx::Class parameters/parametercheck.005: 0.78 mms, ::nsf::is baseclass ::nx::Object parameters/parametercheck.006: 1.09 mms, ::nsf::is baseclass C parameters/parametercheck.007: 0.78 mms, ::nsf::is class ::nx::Object Warning: Could not find value checker type=::nx::Object defined on ::nx::methodParameterSlot parameters/parametercheck.008 hint: we could compare with errorCode: NSF VALUE CONSTRAINT parameters/parametercheck.008: ::nsf::is ::nx::Object class ok parameters/parametercheck.009: 0.79 mms, ::nsf::is object o1 parameters/parametercheck.010: 0.79 mms, ::nsf::is object o1 parameters/parametercheck.011: 1.32 mms, ::nsf::is object o1000 parameters/parametercheck.012: ::nsf::is -complain object o1000 ok parameters/parametercheck.013: 0.79 mms, ::nsf::is integer 1 parameters/parametercheck.014: 0.80 mms, ::nsf::is object,type=::C c1 parameters/parametercheck.015: ::nsf::is -complain object,type=::C o ok parameters/parametercheck.016: 1.31 mms, ::nsf::is object,type=::C o parameters/parametercheck.017: 0.99 mms, c1 info has mixin ::M parameters/parametercheck.018: c1 info has mixin ::M1 ok parameters/parametercheck.019: 0.99 mms, c1 info has type C parameters/parametercheck.020: c1 info has type C1 ok parameters/parametercheck.021: 1.12 mms, c1 ::nsf::methods::object::info::hastype C parameters/parametercheck.022: 1.26 mms, ::nsf::dispatch c1 ::nsf::methods::object::info::hastype C parameters/parametercheck.023: 0.80 mms, ::nsf::is object o1 parameters/parametercheck.024: 1.35 mms, ::nsf::is object o100 parameters/parametercheck.025: 0.79 mms, ::nsf::is integer 1 parameters/parametercheck.026: 0.79 mms, ::nsf::is object,type=::C c1 parameters/parametercheck.027: 1.29 mms, ::nsf::is object,type=::C o parameters/parametercheck.028: 0.78 mms, ::nsf::is boolean 1 parameters/parametercheck.029: 0.79 mms, ::nsf::is boolean on parameters/parametercheck.030: 0.82 mms, ::nsf::is boolean true parameters/parametercheck.031: 0.87 mms, ::nsf::is boolean t parameters/parametercheck.032: 0.84 mms, ::nsf::is boolean f parameters/parametercheck.033: 2.18 mms, ::nsf::is boolean a parameters/parametercheck.034: 0.90 mms, ::nsf::is integer 0x0 parameters/parametercheck.035: 3.79 mms, ::nsf::is integer 0xy parameters/parametercheck.036 hint: we could compare with errorCode: NSF VALUE CONSTRAINT parameters/parametercheck.036: ::nsf::is switch 1 ok Warning: Could not find value checker type=superclass defined on ::nx::methodParameterSlot parameters/parametercheck.037 hint: we could compare with errorCode: NSF VALUE CONSTRAINT parameters/parametercheck.037: ::nsf::is superclass M ok parameters/parametercheck.038: 0.88 mms, ::nsf::is upper ABC parameters/parametercheck.039: 1.17 mms, ::nsf::is upper Abc parameters/parametercheck.040: 1.18 mms, ::nsf::is lower Abc parameters/parametercheck.041: 0.94 mms, ::nsf::is lower abc parameters/parametercheck.042: 0.83 mms, ::nsf::is metaclass ::nx::Class parameters/parametercheck.043: 1.14 mms, ::nsf::is metaclass ::nx::Object parameters/parametercheck.044: ::nsf::is -complain class o1 ok parameters/parametercheck.045: 2.16 mms, ::nsf::is class o1 parameters/parametercheck.046: 0.83 mms, ::nsf::is -complain class nx::test parameters/parametercheck.047: 0.91 mms, ::nsf::is -complain object,1..* [list o1 nx::test] parameters/parametercheck.048: 0.85 mms, ::nsf::is -complain integer,1..* [list 1 2 3] parameters/parametercheck.049: ::nsf::is -complain integer,1..* [list 1 2 3 a] ok parameters/parametercheck.050: 0.84 mms, ::nsf::is -complain object,type=::C c1 parameters/parametercheck.051: object, but different type ok parameters/parametercheck.052: no object ok parameters/parametercheck.053: 0.85 mms, general type Warning: Could not find value checker type=in1 defined on ::nx::methodParameterSlot parameters/parametercheck.054 hint: we could compare with errorCode: NSF VALUE CONSTRAINT parameters/parametercheck.054: ::nsf::is -complain in1 aaa ok parameters/parametercheck.055: 0.90 mms, lowercase char parameters/parametercheck.056: 0.93 mms, lowercase chars parameters/parametercheck.057: ::nsf::is -complain lower Abc ok parameters/parametercheck.058: 0.61 mms, tcl command 'string is lower' Warning: Could not find value checker type=i:integer defined on ::nx::methodParameterSlot parameters/parametercheck.059 hint: we could compare with errorCode: NSF VALUE CONSTRAINT parameters/parametercheck.059: ::nsf::is -complain {i:integer 1} 2 ok notice: Running test case: ./tests/parameters.test multiple-method-checkers parameters/multiple-method-checkers.001: 2.20 mms, o foo parameters/multiple-method-checkers.002: 2.20 mms, o bar parameters/multiple-method-checkers.003: 1.40 mms, ::nsf::is metaclass ::XYZ parameters/multiple-method-checkers.004: 1.20 mms, ::nsf::is metaclass ::nx::Object parameters/multiple-method-checkers.005: 2.10 mms, o foo parameters/multiple-method-checkers.006: 2.00 mms, o bar2 notice: Running test case: ./tests/parameters.test param-manager parameters/param-manager.001: 1.02 mms, ::nsf::is -complain sex,slot=::paramManager female notice: Running test case: ./tests/parameters.test objectparameter parameters/objectparameter.001: 8.70 mms, C eval :__object_configureparameter notice: Running test case: ./tests/parameters.test reclass parameters/reclass.001: 3.70 mms, c1 info lookup slots -source application parameters/reclass.002: 2.90 mms, c1 info lookup slots -source application parameters/reclass.003: 3.90 mms, d1 info lookup slots -source application parameters/reclass.004: 8.60 mms, d1 eval :__object_configureparameter notice: Running test case: ./tests/parameters.test objparam-mixins parameters/objparam-mixins.001: 10.20 mms, mixin added parameters/objparam-mixins.002: 11.10 mms, transitive mixin added parameters/objparam-mixins.003: 8.70 mms, d1 eval :__object_configureparameter parameters/objparam-mixins.004: 10.40 mms, mixin added parameters/objparam-mixins.005: 8.70 mms, d1 eval :__object_configureparameter notice: Running test case: ./tests/parameters.test passed-arguments parameters/passed-arguments.001: 2.70 mms, create d1 with required argument given parameters/passed-arguments.002: 8.80 mms, create d1 without required argument given parameters/passed-arguments.003: D create d1 ok parameters/passed-arguments.004: create d2 without required argument given ok parameters/passed-arguments.005: call method without a required argument ok parameters/passed-arguments.006: required argument is not integer ok parameters/passed-arguments.007: default value is not of type integer ok parameters/passed-arguments.008: 1.70 mms, pass object parameters/passed-arguments.009: pass non-existing object ok parameters/passed-arguments.010: 1.60 mms, pass class parameters/passed-arguments.011: pass object instead of class ok parameters/passed-arguments.012: pass non-existing class ok parameters/passed-arguments.013: 16.20 mms, allow 'string is XXXX' for argument checking parameters/passed-arguments.014: 1.20 mms, check int as double parameters/passed-arguments.015: 1.20 mms, check double as double parameters/passed-arguments.016: check non-double as double ok parameters/passed-arguments.017: 2.50 mms, D info method parameters foo notice: Running test case: ./tests/parameters.test non-reg-args parameters/non-reg-args.001: 1.60 mms, omit optional argument parameters/non-reg-args.002: 1.70 mms, omit optional arguments parameters/non-reg-args.003: 1.70 mms, omit optional argument parameters/non-reg-args.004: 1.80 mms, omit optional arguments notice: Running test case: ./tests/parameters.test multivalued parameters/multivalued.001: 1.10 mms, empty list parameters/multivalued.002: 1.10 mms, single value parameters/multivalued.003: 1.10 mms, multiple values parameters/multivalued.004: multiple values with wrong value ok parameters/multivalued.005: 1.10 mms, empty list parameters/multivalued.006: 1.10 mms, single value parameters/multivalued.007: multiple values ok parameters/multivalued.008: 2.20 mms, Foo create foo -ints {1 2} parameters/multivalued.009: Foo create foo -ints {1 a 2} ok parameters/multivalued.010: 4.40 mms, foo ints add 0 parameters/multivalued.011: foo ints add a ok notice: Running test case: ./tests/parameters.test subst-default parameters/subst-default.001: 2.20 mms, substdefault in method parameter parameters/subst-default.002: 113.10 mms, Bar property -accessor public ss:switch parameters/subst-default.003: 5.70 mms, Bar create bar1 parameters/subst-default.004: 2.30 mms, substdefault in object parameter 1 parameters/subst-default.005: 5.30 mms, Bar create bar2 parameters/subst-default.006: 2.50 mms, substdefault in object parameter 2 parameters/subst-default.007: 2.20 mms, all args parameters/subst-default.008: 2.60 mms, query method parameter parameters/subst-default.009: D public method foo {s:switch} {return 1} ok parameters/subst-default.010: 4.70 mms, parse multiple groups of nonpos args parameters/subst-default.011: 5.10 mms, query arguments with default, no paramdefs needed parameters/subst-default.012: 3.30 mms, query instparams with default, no paramdefs needed parameters/subst-default.013: 2.60 mms, query instparams for scripted method 'method' parameters/subst-default.014: 5.60 mms, query parameter for C-defined cmd 'nsf::forward' parameters/subst-default.015: 3.50 mms, query parameter for C-defined method 'autoname' parameters/subst-default.016: 3.40 mms, D info method parameters "a b" parameters/subst-default.017: 3.60 mms, D info object method parameters "c d" notice: Running test case: ./tests/parameters.test user-value-checker parameters/user-value-checker.001: value not between 1 and 3 ok Warning: Could not find value checker type=unknowntype defined on ::nx::methodParameterSlot parameters/user-value-checker.002: missing type checker ok parameters/user-value-checker.003: 2.00 mms, d1 foo a parameters/user-value-checker.004: invalid value ok parameters/user-value-checker.005: 3.40 mms, d1 foo a good -c b parameters/user-value-checker.006: 3.20 mms, d1 foo a good parameters/user-value-checker.007: invalid value (not included) ok parameters/user-value-checker.008: 2.10 mms, d1 foo 2 parameters/user-value-checker.009: invalid value ok parameters/user-value-checker.010: d1 foo 2 ok Warning: empty parameter option ignored parameters/user-value-checker.011: d1 foo 2 ok parameters/user-value-checker.012: 3.80 mms, d1 foo 2 -b 4 9 parameters/user-value-checker.013: 3.60 mms, d1 foo 2 10 parameters/user-value-checker.014: invalid value ok parameters/user-value-checker.015: invalid value ok parameters/user-value-checker.016: 1.80 mms, d1 foo -a 2 10 notice: Running test case: ./tests/parameters.test value-checker-call-check parameters/value-checker-call-check.001: 0.90 mms, info exists ::counter(h) parameters/value-checker-call-check.002: 0.90 mms, set ::counter(h) parameters/value-checker-call-check.003: 0.90 mms, set ::counter(h) parameters/value-checker-call-check.004: 0.90 mms, set ::counter(h) parameters/value-checker-call-check.005: 0.90 mms, info exists ::counter(hs) parameters/value-checker-call-check.006: 0.90 mms, set ::counter(hs) parameters/value-checker-call-check.007: 0.90 mms, set ::counter(hs) parameters/value-checker-call-check.008: 0.90 mms, set ::counter(hs) notice: Running test case: ./tests/parameters.test mp-object-types parameters/mp-object-types.001: 1.70 mms, c1 object mixins get parameters/mp-object-types.002: 3.00 mms, c1 object mixins guard ::M parameters/mp-object-types.003: 1.90 mms, c2 object mixins get parameters/mp-object-types.004: 2.50 mms, c2 object mixins classes parameters/mp-object-types.005: 3.10 mms, c2 object mixins guard ::M parameters/mp-object-types.006: 1.70 mms, c3 object mixins get parameters/mp-object-types.007: 3.00 mms, c3 object mixins guard M parameters/mp-object-types.008: 3.00 mms, c3 object mixins guard M2 parameters/mp-object-types.009: 1.80 mms, c4 object mixins get parameters/mp-object-types.010: 2.50 mms, c4 object mixins classes parameters/mp-object-types.011: 2.50 mms, c4 object mixins classes M parameters/mp-object-types.012: 3.10 mms, c4 object mixins classes M1 parameters/mp-object-types.013: 3.10 mms, c4 object mixins guard M parameters/mp-object-types.014: 2.90 mms, c4 object mixins guard M2 parameters/mp-object-types.015: 1.90 mms, c5 object mixins get parameters/mp-object-types.016: 2.50 mms, c5 object mixins classes parameters/mp-object-types.017: 2.60 mms, c5 object mixins classes M parameters/mp-object-types.018: 3.00 mms, c5 object mixins classes M1 parameters/mp-object-types.019: 2.90 mms, c5 object mixins guard M parameters/mp-object-types.020: 3.00 mms, c5 object mixins guard M2 parameters/mp-object-types.021: 2.50 mms, D info method parameters foo-base parameters/mp-object-types.022: 2.40 mms, D info method parameters foo-type parameters/mp-object-types.023: 1.10 mms, d1 foo-base ::nx::Object parameters/mp-object-types.024: not a base class ok parameters/mp-object-types.025: 1.20 mms, d1 foo-class D parameters/mp-object-types.026: not a class ok parameters/mp-object-types.027: not a class ok parameters/mp-object-types.028: 1.20 mms, d1 foo-meta ::nx::Class parameters/mp-object-types.029: not a base class ok parameters/mp-object-types.030: 1.10 mms, d1 foo-object o parameters/mp-object-types.031: not an object ok parameters/mp-object-types.032: 1.10 mms, d1 foo-type d1 parameters/mp-object-types.033: 1.10 mms, d1 foo-type c1 parameters/mp-object-types.034: o not of type ::C ok notice: Running test case: ./tests/parameters.test substdefault parameters/substdefault.001: 1.50 mms, s1 foo parameters/substdefault.002: 1.20 mms, s1 foo 2 parameters/substdefault.003: S object method foo {a:substdefault} {return 1} ok parameters/substdefault.004: 1.50 mms, s1 bar parameters/substdefault.005: 1.10 mms, s1 bar 3 parameters/substdefault.006: s1 bar a ok parameters/substdefault.007: s1 baz ok parameters/substdefault.008: 1.10 mms, s1 baz 20 parameters/substdefault.009: 1.40 mms, s1 baz parameters/substdefault.010: 1.00 mms, s1 baz 101 parameters/substdefault.011: 1.90 mms, s1 boz parameters/substdefault.012: s1 boz ok parameters/substdefault.013: 1.10 mms, s1 boz {100 200} parameters/substdefault.014: 11.40 mms, s1 public object method foo {{a:substdefault $::aaa}} {return $a} parameters/substdefault.015: 1.40 mms, s1 foo parameters/substdefault.016 hint: we could compare with errorCode: TCL LOOKUP VARNAME ::aaa parameters/substdefault.016: s1 foo ok parameters/substdefault.017: 11.20 mms, s1 public object method foo {{a:substdefault $aaa}} {return $a} parameters/substdefault.018 hint: we could compare with errorCode: TCL READ VARNAME parameters/substdefault.018: s1 foo ok parameters/substdefault.019: 11.20 mms, s1 public object method foo {{a:substdefault [current]}} {return $a} parameters/substdefault.020: 1.50 mms, final test notice: Running test case: ./tests/parameters.test substdefault-objparam-perclass Warning: Non-positional parameter -substdefault was passed more than once (::Bar::slot::s2 method configure 0b111 -substdefault 0b111 -accessor none -configurable true -incremental 0 -default {[current]} {}) parameters/substdefault-objparam-perclass.001: 4.00 mms, create object parameters/substdefault-objparam-perclass.002: 1.10 mms, b cget -s0 parameters/substdefault-objparam-perclass.003: 1.00 mms, b cget -s1 parameters/substdefault-objparam-perclass.004: 1.00 mms, b cget -s2 parameters/substdefault-objparam-perclass.005: 1.00 mms, b cget -s3 notice: Running test case: ./tests/parameters.test substdefault-objparam-perobj Warning: Non-positional parameter -substdefault was passed more than once (::rab::per-object-slot::s2 method configure 0b111 -substdefault 0b111 -accessor none -incremental 0 -default ::rab -per-object true {}) parameters/substdefault-objparam-perobj.001: 1.30 mms, rab cget -s0 parameters/substdefault-objparam-perobj.002: 1.10 mms, rab cget -s1 parameters/substdefault-objparam-perobj.003: 1.10 mms, rab cget -s2 parameters/substdefault-objparam-perobj.004: 1.00 mms, rab cget -s3 parameters/substdefault-objparam-perobj.005: 1.30 mms, rab eval {set :s4} parameters/substdefault-objparam-perobj.006: 1.20 mms, rab eval {set :s5} parameters/substdefault-objparam-perobj.007: 1.20 mms, rab eval {set :s6} parameters/substdefault-objparam-perobj.008: 1.30 mms, rab eval {set :s7} notice: Running test case: ./tests/parameters.test parameter-alias-default parameters/parameter-alias-default.001: 1.30 mms, ::c1 eval {set :a} parameters/parameter-alias-default.002: 1.20 mms, ::c1 eval {set :b} parameters/parameter-alias-default.003: 1.30 mms, ::c2 eval {set :a} parameters/parameter-alias-default.004: 1.30 mms, ::c2 eval {set :b} notice: Running test case: ./tests/parameters.test op-object-types parameters/op-object-types.001: 4.70 mms, ParamTest info lookup parameters create o parameters/op-object-types.002: 4.50 mms, ParamTest info lookup parameters create c parameters/op-object-types.003: 4.50 mms, ParamTest info lookup parameters create c1 parameters/op-object-types.004: 4.70 mms, ParamTest info lookup parameters create d parameters/op-object-types.005: 4.50 mms, ParamTest info lookup parameters create d1 parameters/op-object-types.006: 4.50 mms, ParamTest info lookup parameters create x parameters/op-object-types.007: 4.50 mms, ParamTest info lookup parameters create u parameters/op-object-types.008: 4.50 mms, ParamTest info lookup parameters create us parameters/op-object-types.009: 2.50 mms, ParamTest create p -o o parameters/op-object-types.010: not an object ok parameters/op-object-types.011: 2.50 mms, class parameters/op-object-types.012: not a class ok parameters/op-object-types.013: 2.40 mms, instance of meta-class MC parameters/op-object-types.014: not an instance of meta-class MC ok parameters/op-object-types.015: 2.40 mms, ParamTest create p -d d1 parameters/op-object-types.016: 2.40 mms, ParamTest create p -d1 d1 parameters/op-object-types.017: 2.50 mms, ParamTest create p -d c1 parameters/op-object-types.018: o not of type ::C ok parameters/op-object-types.019: 2.50 mms, ParamTest create p -u A parameters/op-object-types.020: ParamTest create p -u c1 ok parameters/op-object-types.021: ParamTest create p -us {A B c} ok parameters/op-object-types.022: 4.60 mms, ParamTest create p -us {A B} -us2 {A B} parameters/op-object-types.023: 4.50 mms, p us add C end parameters/op-object-types.024: 4.30 mms, p us2 add C end parameters/op-object-types.025: 1.30 mms, value is an object parameters/op-object-types.026: value is not an object ok parameters/op-object-types.027: 2.60 mms, ParamTest info method definition os parameters/op-object-types.028: 1.90 mms, value is a list of objects (1 element) parameters/op-object-types.029: 1.90 mms, value is a list of objects (multiple elements) parameters/op-object-types.030: list with invalid object ok notice: Running test case: ./tests/parameters.test multivalued-app-converter parameters/multivalued-app-converter.001: 4.10 mms, c1 foo {male female mann frau} parameters/multivalued-app-converter.002: 3.30 mms, c1 bar {male female mann frau} parameters/multivalued-app-converter.003: fail on first value ok parameters/multivalued-app-converter.004: 2.60 mms, all pass parameters/multivalued-app-converter.005: fail o last value ok notice: Running test case: ./tests/parameters.test shadowing-app-converter Warning: Checker method type=integer defined on ::mySlot shadows built-in converter Warning: Checker method type=integer defined on ::mySlot shadows built-in converter parameters/shadowing-app-converter.001: 1.70 mms, ::nsf::is -complain integer,slot=::mySlot 1 parameters/shadowing-app-converter.002: 1.80 mms, o foo 3 notice: Running test case: ./tests/parameters.test allow-empty parameters/allow-empty.001: 1.30 mms, all values specified parameters/allow-empty.002: 1.20 mms, first is empty parameters/allow-empty.003: second is empty ok parameters/allow-empty.004: 1.20 mms, empty list parameters/allow-empty.005: 2.50 mms, o info object method parameters foo parameters/allow-empty.006: list contains empty value ok parameters/allow-empty.007: empty int, empty list of objects ok notice: Running test case: ./tests/parameters.test slot-specific-converter parameters/slot-specific-converter.001: 1.30 mms, p1 cget -sex parameters/slot-specific-converter.002: 1.50 mms, p1 sex get parameters/slot-specific-converter.003: 1.90 mms, p1 foo male parameters/slot-specific-converter.004: 2.70 mms, p1 sex set male parameters/slot-specific-converter.005: 1.30 mms, p2 cget -sexes parameters/slot-specific-converter.006: 1.50 mms, p2 sexes get parameters/slot-specific-converter.007: 5.20 mms, p2 sexes add female parameters/slot-specific-converter.008: 4.30 mms, p2 sexes set {male female male} parameters/slot-specific-converter.009: p2 sexes delete female ok parameters/slot-specific-converter.010: p2 sexes delete female ok parameters/slot-specific-converter.011: p2 sexes delete -nocomplain female ok parameters/slot-specific-converter.012: p2 sexes delete -nocomplain male ok parameters/slot-specific-converter.013: p2 sexes get ok parameters/slot-specific-converter.014: 3.50 mms, p2 bar {female male female} notice: Running test case: ./tests/parameters.test setters parameters/setters.001: ::nsf::method::setter ::o :a ok parameters/setters.002: 2.20 mms, ::nsf::method::setter o a parameters/setters.003: 2.30 mms, ::nsf::method::setter C c parameters/setters.004: 3.40 mms, o info object method definition a parameters/setters.005: 2.80 mms, o info object method parameters a parameters/setters.006: 2.00 mms, o info object method args a parameters/setters.007: 2.10 mms, C info method definition c parameters/setters.008: 1.10 mms, o a 1 parameters/setters.009: 2.50 mms, ::nsf::method::setter o a:integer parameters/setters.010: 2.60 mms, ::nsf::method::setter o ints:integer,1..* parameters/setters.011: 2.40 mms, ::nsf::method::setter o o:object parameters/setters.012: 2.20 mms, o info object method registrationhandle ints parameters/setters.013: 2.30 mms, o info object method definition ints parameters/setters.014: 2.70 mms, o info object method parameters ints parameters/setters.015: 2.00 mms, o info object method args ints parameters/setters.016: 2.10 mms, o info object method registrationhandle o parameters/setters.017: 2.40 mms, o info object method definition o parameters/setters.018: 2.50 mms, o info object method parameters o parameters/setters.019: 2.00 mms, o info object method args o parameters/setters.020: 1.10 mms, o a 2 parameters/setters.021: o a hugo ok parameters/setters.022: 1.10 mms, o ints {10 100 1000} parameters/setters.023: o ints hugo ok parameters/setters.024: 1.20 mms, o o o parameters/setters.025: ::nsf::method::setter o {d default} ok parameters/setters.026: ::nsf::method::setter o "d\ndefault" ok parameters/setters.027: ::nsf::method::setter o -x ok notice: Running test case: ./tests/parameters.test setters-wrongargs parameters/setters-wrongargs.001: 1.10 mms, o z -10 parameters/setters-wrongargs.002: 1.10 mms, o z parameters/setters-wrongargs.003: o z -1 0 ok notice: Running test case: ./tests/parameters.test slot-optimizer parameters/slot-optimizer.001: 1.34 mms, c1 a set 1 parameters/slot-optimizer.002: 1.67 mms, c1 b set 1 parameters/slot-optimizer.003: 1.69 mms, c1 c set 1 notice: Running test case: ./tests/parameters.test slot-nosetter parameters/slot-nosetter.001: 2.60 mms, C create c1 -a 1 -b 2 parameters/slot-nosetter.002: 1.80 mms, c1 info vars parameters/slot-nosetter.003: 1.70 mms, c1 a set 100 parameters/slot-nosetter.004: c1 b 101 ok parameters/slot-nosetter.005: c1 c 102 ok notice: Running test case: ./tests/parameters.test check-arguments parameters/check-arguments.001: 0.86 mms, f1 noarg parameters/check-arguments.002: 0.88 mms, f1 onearg 1 parameters/check-arguments.003: 0.98 mms, f1 intarg 1 parameters/check-arguments.004: f1 intarg a ok parameters/check-arguments.005: 0.98 mms, f1 intsarg {10 11 12} parameters/check-arguments.006: f1 intsarg {10 11 1a2} ok parameters/check-arguments.007: 0.96 mms, f1 boolarg 1 parameters/check-arguments.008: f1 boolarg a ok parameters/check-arguments.009: 0.96 mms, f1 classarg ::Foo parameters/check-arguments.010: f1 classarg f1 ok parameters/check-arguments.011: 1.09 mms, f1 upperarg ABC parameters/check-arguments.012: f1 upperarg abc ok parameters/check-arguments.013: 0.97 mms, f1 metaclassarg ::nx::Class parameters/check-arguments.014: f1 metaclassarg ::Foo ok notice: Running test case: ./tests/parameters.test copy-with-required parameters/copy-with-required.001: 27.37 mms, c1 copy c2 notice: Running test case: ./tests/parameters.test slot-traces parameters/slot-traces.001: 1.40 mms, o a get parameters/slot-traces.002: 1.24 mms, o b get parameters/slot-traces.003: 5.48 mms, o c set 5 parameters/slot-traces.004: 0.75 mms, ::nsf::object::property o hasperobjectslots parameters/slot-traces.005: 1.41 mms, o a get parameters/slot-traces.006: 1.23 mms, o b get parameters/slot-traces.007: 5.56 mms, o c set 5 parameters/slot-traces.008: 0.74 mms, ::nsf::object::property o2 hasperobjectslots parameters/slot-traces.009: 1.31 mms, c1 a get parameters/slot-traces.010: 1.22 mms, c1 b get parameters/slot-traces.011: 5.42 mms, c1 c set 5 parameters/slot-traces.012: 1.35 mms, c2 a get parameters/slot-traces.013: 1.23 mms, c2 b get parameters/slot-traces.014: 5.21 mms, c2 c set 5 parameters/slot-traces.015: 1.35 mms, d1 a get parameters/slot-traces.016: 1.25 mms, d1 b get parameters/slot-traces.017: 5.21 mms, d1 c set 5 notice: Running test case: ./tests/parameters.test slot-trace-interaction parameters/slot-trace-interaction.001: 1.10 mms, o eval {info exists :a} parameters/slot-trace-interaction.002: o object property -trace default {a 0} { } ok parameters/slot-trace-interaction.003: 1.13 mms, o eval {info exists :a} parameters/slot-trace-interaction.004: 1.13 mms, o eval {info exists :b} parameters/slot-trace-interaction.005: 131.50 mms, o object property -trace get {b:integer 123} { } parameters/slot-trace-interaction.006: 4.42 mms, o eval {info exists :b} parameters/slot-trace-interaction.007: o object property -trace get {b:integer hello} { } ok parameters/slot-trace-interaction.008: 1.12 mms, o eval {info exists :c} parameters/slot-trace-interaction.009: o object property -trace {default get} c { } ok parameters/slot-trace-interaction.010: 1.13 mms, o eval {info exists :c} parameters/slot-trace-interaction.011: 1.12 mms, o eval {info exists :a} parameters/slot-trace-interaction.012: 1.08 mms, o eval {info exists :a} parameters/slot-trace-interaction.013: 1.41 mms, o a get parameters/slot-trace-interaction.014: 1.83 mms, o a set 1 parameters/slot-trace-interaction.015: 1.39 mms, o a get parameters/slot-trace-interaction.016: 1.84 mms, o a set 2 parameters/slot-trace-interaction.017: 1.10 mms, o eval {info exists :A} parameters/slot-trace-interaction.018: 1.07 mms, o eval {info exists :A} parameters/slot-trace-interaction.019: 0.91 mms, o cget -A parameters/slot-trace-interaction.020: 5.29 mms, o configure -A 1 parameters/slot-trace-interaction.021: 0.92 mms, o cget -A parameters/slot-trace-interaction.022: Klass property -trace default {a 0} { } ok parameters/slot-trace-interaction.023: 63.42 mms, Klass property -trace get {b 0} { } parameters/slot-trace-interaction.024: Klass property -trace {default get} c { } ok parameters/slot-trace-interaction.025: 1.07 mms, k eval {info exists :a} parameters/slot-trace-interaction.026: 1.34 mms, k a get parameters/slot-trace-interaction.027: 1.84 mms, k a set 1 parameters/slot-trace-interaction.028: 1.35 mms, k a get parameters/slot-trace-interaction.029: 1.76 mms, k a set 2 parameters/slot-trace-interaction.030: 31.27 mms, catch {Klass create kk} parameters/slot-trace-interaction.031: 0.83 mms, cc cget -a parameters/slot-trace-interaction.032: 0.98 mms, cc cget -b parameters/slot-trace-interaction.033: 5.35 mms, cc c set 5 notice: Running test case: ./tests/parameters.test check-arguments-nocheck parameters/check-arguments-nocheck.001: 0.89 mms, f1 noarg parameters/check-arguments-nocheck.002: 0.88 mms, f1 onearg 1 parameters/check-arguments-nocheck.003: 0.92 mms, f1 intarg 1 parameters/check-arguments-nocheck.004: 0.92 mms, f1 intarg a parameters/check-arguments-nocheck.005: 0.93 mms, f1 intsarg {10 11 12} parameters/check-arguments-nocheck.006: 0.93 mms, f1 intsarg {10 11 1a2} parameters/check-arguments-nocheck.007: 0.93 mms, f1 boolarg 1 parameters/check-arguments-nocheck.008: 0.92 mms, f1 boolarg a parameters/check-arguments-nocheck.009: 0.92 mms, f1 classarg ::Foo parameters/check-arguments-nocheck.010: 0.95 mms, f1 classarg f1 parameters/check-arguments-nocheck.011: 0.94 mms, f1 upperarg ABC parameters/check-arguments-nocheck.012: 0.92 mms, f1 upperarg abc parameters/check-arguments-nocheck.013: 0.92 mms, f1 metaclassarg ::nx::Class parameters/check-arguments-nocheck.014: 0.93 mms, f1 metaclassarg ::Foo notice: Running test case: ./tests/parameters.test checktype parameters/checktype.001: 1.45 mms, o f01 parameters/checktype.002: 1.50 mms, o f02 parameters/checktype.003: 1.45 mms, o f03 parameters/checktype.004: 1.07 mms, o f11 parameters/checktype.005: 1.07 mms, o f12 parameters/checktype.006: 1.43 mms, o f01 parameters/checktype.007: 1.64 mms, o f02 parameters/checktype.008: 1.46 mms, o f03 parameters/checktype.009: 1.45 mms, o f04 parameters/checktype.010: 1.44 mms, o f05 parameters/checktype.011: 1.11 mms, o f11 parameters/checktype.012: 1.67 mms, o f12 parameters/checktype.013: 1.63 mms, o f13 parameters/checktype.014: 1.09 mms, o f14 parameters/checktype.015: 2.46 mms, o f15 parameters/checktype.016: 1.46 mms, c1 f21 parameters/checktype.017: 1.48 mms, c1 f22 parameters/checktype.018: 1.09 mms, c1 f31 parameters/checktype.019: 1.09 mms, c1 f32 notice: Running test case: ./tests/parameters.test check-arguments parameters/check-arguments.015: 2.28 mms, Foo info method syntax noarg parameters/check-arguments.016: 2.59 mms, Foo info method syntax onearg parameters/check-arguments.017: 2.58 mms, Foo info method syntax intarg parameters/check-arguments.018: 2.66 mms, Foo info method syntax intsarg parameters/check-arguments.019: 2.62 mms, Foo info method syntax boolarg parameters/check-arguments.020: 2.62 mms, Foo info method syntax classarg parameters/check-arguments.021: 2.64 mms, Foo info method syntax upperarg parameters/check-arguments.022: 2.69 mms, Foo info method syntax metaclassarg parameters/check-arguments.023: 4.82 mms, nx::Class info method syntax "info mixinof" notice: Running test case: ./tests/parameters.test don't-reset-to-defaults parameters/don't-reset-to-defaults.001: 0.84 mms, c1 cget -a parameters/don't-reset-to-defaults.002: 1.39 mms, c1 a set 2 parameters/don't-reset-to-defaults.003: 1.34 mms, c1 a get parameters/don't-reset-to-defaults.004: 1.34 mms, c1 a get notice: Running test case: ./tests/parameters.test setter-under-coloncmd-and-interpvarresolver parameters/setter-under-coloncmd-and-interpvarresolver.001: 1.32 mms, omon info vars a1 parameters/setter-under-coloncmd-and-interpvarresolver.002: 0.99 mms, omon info vars :a1 parameters/setter-under-coloncmd-and-interpvarresolver.003: 1.22 mms, ::omon info vars a1 parameters/setter-under-coloncmd-and-interpvarresolver.004: 0.90 mms, ::omon info vars :a1 notice: Running test case: ./tests/parameters.test req-param parameters/req-param.001: C create c2 -y 1 -x ok parameters/req-param.002: 0.78 mms, set ::_ parameters/req-param.003: 1.33 mms, ::nsf::is object c2 parameters/req-param.004: C create c2 ok parameters/req-param.005: 0.78 mms, set ::_ parameters/req-param.006: 1.34 mms, ::nsf::is object c2 parameters/req-param.007: 2.32 mms, C create c3 -y 1 -x 0 parameters/req-param.008: 0.78 mms, set ::_ parameters/req-param.009: 0.85 mms, c3 cget -x parameters/req-param.010: 1.74 mms, D create d1 parameters/req-param.011: 1.00 mms, d1 configure parameters/req-param.012: 4.94 mms, d1 info lookup syntax configure parameters/req-param.013: d1 configure ok parameters/req-param.014: 0.99 mms, d1 configure -x 123 parameters/req-param.015: 0.87 mms, d1 cget -x parameters/req-param.016: 0.94 mms, d1 configure notice: Running test case: ./tests/parameters.test nsf-subdefault parameters/nsf-subdefault.001: 0.84 mms, c1 cget -n1 parameters/nsf-subdefault.002: 1.05 mms, c1 cget -n2 notice: Running test case: ./tests/parameters.test nsf-proc parameters/nsf-proc.001: ::nsf::mix ok parameters/nsf-proc.002: ::nsf::mix -per-object ok parameters/nsf-proc.003: ::nsf::mix -x true ok parameters/nsf-proc.004: ::nsf::mix -x false ok parameters/nsf-proc.005: ::nsf::mix -per-object=1 ok parameters/nsf-proc.006: ::nsf::mix -per-object=0 ok parameters/nsf-proc.007: ad_returnredirect /url ok parameters/nsf-proc.008: ad_returnredirect -html /url ok parameters/nsf-proc.009: ad_returnredirect -html=0 /url ok parameters/nsf-proc.010: ad_returnredirect -html=a /url ok parameters/nsf-proc.011: ::ns1::foo ok parameters/nsf-proc.012: ::ns1::foo -s ok parameters/nsf-proc.013: ::ns1::foo -s=1 ok parameters/nsf-proc.014: ::ns1::foo -s=0 ok Warning: Non-positional parameter -s was passed more than once (::ns1::foo -s -s=0) parameters/nsf-proc.015: ::ns1::foo -s -s=0 ok parameters/nsf-proc.016: ::ns1::baz -b true -- -b ok parameters/nsf-proc.017: info body ad_returnredirect ok parameters/nsf-proc.018: 1.71 mms, ::ns1::pass1 parameters/nsf-proc.019: 1.68 mms, ::ns1::pass1 -s parameters/nsf-proc.020: 1.50 mms, ::ns1::pass0 parameters/nsf-proc.021: 1.83 mms, ::ns1::pass0 -s notice: Running test case: ./tests/parameters.test xotcl-list-notation parameters/xotcl-list-notation.001: CC create cc -package_id 123 -parameter_declaration o -user_id 4 ok parameters/xotcl-list-notation.002: cc package_id ok parameters/xotcl-list-notation.003: cc parameter_declaration ok parameters/xotcl-list-notation.004: cc user_id ok parameters/xotcl-list-notation.005: CC create cc -package_id 234 [list -parameter_declaration oo] -user_id 456 ok parameters/xotcl-list-notation.006: cc package_id ok parameters/xotcl-list-notation.007: cc parameter_declaration ok parameters/xotcl-list-notation.008: cc user_id ok parameters/xotcl-list-notation.009: KK create kk "-a\r234" "-b\n456" "-c\f543" "-d\nddd" ok parameters/xotcl-list-notation.010: kk a ok parameters/xotcl-list-notation.011: kk b ok parameters/xotcl-list-notation.012: kk c ok parameters/xotcl-list-notation.013: kk d ok notice: Running test case: ./tests/parameters.test parameter-alias parameters/parameter-alias.001: c1 eval {set :x} ok parameters/parameter-alias.002: c1 eval {set :foo} ok parameters/parameter-alias.003: c1 eval {set :bar} ok parameters/parameter-alias.004: lsort [c1 info lookup methods -source application] ok notice: Running test case: ./tests/parameters.test parameter-alias-default parameters/parameter-alias-default.005: c1 eval {set :x1} ok parameters/parameter-alias-default.006: c1 eval {set :foo} ok parameters/parameter-alias-default.007: c1 eval {set :x2} ok parameters/parameter-alias-default.008: lsort [c1 info lookup methods -source application] ok parameters/parameter-alias-default.009: lsort [C info slots] ok parameters/parameter-alias-default.010: ::C::slot::x1 getParameterSpec ok parameters/parameter-alias-default.011: ::C::slot::x2 getParameterSpec ok notice: Running test case: ./tests/parameters.test parameter-object-mixin-dependency parameters/parameter-object-mixin-dependency.001: c1 eval :__object_configureparameter ok parameters/parameter-object-mixin-dependency.002: c1 info precedence ok parameters/parameter-object-mixin-dependency.003: c1 eval :__object_configureparameter ok parameters/parameter-object-mixin-dependency.004: c1 configure -a1 x ok parameters/parameter-object-mixin-dependency.005: C create c2 ok parameters/parameter-object-mixin-dependency.006: D create d1 ok parameters/parameter-object-mixin-dependency.007: c1 info object mixins ok parameters/parameter-object-mixin-dependency.008: c1 cget -object-mixin ok parameters/parameter-object-mixin-dependency.009: c1 info lookup parameters configure b* ok parameters/parameter-object-mixin-dependency.010: c1 info object mixins ok parameters/parameter-object-mixin-dependency.011: c1 cget -object-mixin ok parameters/parameter-object-mixin-dependency.012: c1 info lookup parameters configure b1 ok parameters/parameter-object-mixin-dependency.013: c1 info lookup parameters configure b2 ok parameters/parameter-object-mixin-dependency.014: lsort [c1 info lookup parameters configure b*] ok parameters/parameter-object-mixin-dependency.015: c1 info object mixins ok parameters/parameter-object-mixin-dependency.016: lsort [c1 info lookup parameters configure b*] ok parameters/parameter-object-mixin-dependency.017: c1 info object mixins ok parameters/parameter-object-mixin-dependency.018: c1 info lookup parameters configure b1 ok parameters/parameter-object-mixin-dependency.019: lsort [c1 info lookup parameters configure b*] ok parameters/parameter-object-mixin-dependency.020: lsort [c1 info lookup parameters configure b*] ok parameters/parameter-object-mixin-dependency.021: lsort [c1 info lookup parameters configure b*] ok parameters/parameter-object-mixin-dependency.022: lsort [c1 info lookup parameters configure b*] ok notice: Running test case: ./tests/parameters.test parameter-object-mixin-dependency-object-property parameters/parameter-object-mixin-dependency-object-property.001: c1 info precedence ok parameters/parameter-object-mixin-dependency-object-property.002: lsort [C info slots -closure] ok parameters/parameter-object-mixin-dependency-object-property.003: c1 eval :__object_configureparameter ok parameters/parameter-object-mixin-dependency-object-property.004 hint: we could compare with errorCode: TCL READ VARNAME parameters/parameter-object-mixin-dependency-object-property.004: c1 __configure -a1 x ok parameters/parameter-object-mixin-dependency-object-property.005: c1 info precedence ok parameters/parameter-object-mixin-dependency-object-property.006: lsort [C info slots -closure] ok parameters/parameter-object-mixin-dependency-object-property.007: c1 eval :__object_configureparameter ok parameters/parameter-object-mixin-dependency-object-property.008: C create c2 ok notice: Running test case: ./tests/parameters.test bignums parameters/bignums.001: 0.85 mms, string is integer 2147483648 parameters/bignums.002: 0.85 mms, string is integer 4294967296 parameters/bignums.003: 0.94 mms, o foo [expr {2 ** 16}] parameters/bignums.004: 0.94 mms, o foo [expr {2 ** 31}] parameters/bignums.005: 0.93 mms, o foo [expr {2 ** 32}] parameters/bignums.006: 0.85 mms, string is integer 9223372036854775808 parameters/bignums.007: 0.85 mms, string is integer 18446744073709551616 parameters/bignums.008: 0.94 mms, o foo [expr {2 ** 63}] parameters/bignums.009: 0.94 mms, o foo [expr {2 ** 64}] parameters/bignums.010: 0.94 mms, o foo [expr {2 ** 128}] parameters/bignums.011: 1.31 mms, o foo [expr {wide(2 ** 63)}] parameters/bignums.012: o foo [expr {2.0}] ok parameters/bignums.013: o foo [expr {2.0 * 2}] ok parameters/bignums.014: o foo [expr {2.0 ** 128}] ok parameters/bignums.015: o foo [expr {(2 ** 128)*1.0}] ok parameters/bignums.016: 0.95 mms, o foo32 [expr {2 ** 31}] parameters/bignums.017: o foo32 [expr {2 ** 32}] ok parameters/bignums.018: 1.06 mms, string is wideinteger 9223372036854775808 parameters/bignums.019: 0.86 mms, string is wideinteger 18446744073709551616 parameters/bignums.020: 1.27 mms, o bar [expr {2 ** 63}] parameters/bignums.021: o bar [expr {2 ** 64}] ok parameters/bignums.022: 0.86 mms, string is wideinteger 0 parameters/bignums.023: 1.39 mms, o bar [expr {wide(2 ** 63)}] parameters/bignums.024: 1.37 mms, o bar [expr {wide(2 ** 64)}] parameters/bignums.025: 0.84 mms, string is double 9223372036854775808 parameters/bignums.026: 0.84 mms, string is double 18446744073709551616 parameters/bignums.027: 1.04 mms, o baz [expr {2 ** 63}] parameters/bignums.028: 1.03 mms, o baz [expr {2 ** 64}] parameters/bignums.029: 1.02 mms, o baz [expr {2 ** 128}] notice: Running test case: ./tests/parameters.test reconfigure-perobj-default parameters/reconfigure-perobj-default.001: 1.10 mms, o eval {info exists :a} parameters/reconfigure-perobj-default.002: 1.12 mms, o eval {info exists :a} parameters/reconfigure-perobj-default.003: 0.91 mms, o cget -a parameters/reconfigure-perobj-default.004: 1.11 mms, o eval {info exists :a} parameters/reconfigure-perobj-default.005: 1.07 mms, o eval {info exists :a} parameters/reconfigure-perobj-default.006: 0.92 mms, o cget -a parameters/reconfigure-perobj-default.007: 1.08 mms, o eval {info exists :a} parameters/reconfigure-perobj-default.008: 1.11 mms, o eval {info exists :a} parameters/reconfigure-perobj-default.009: 1.06 mms, o eval {info exists :a} parameters/reconfigure-perobj-default.010: 0.95 mms, o cget -a notice: Running test case: ./tests/parameters.test object-level-variable parameters/object-level-variable.001: 0.97 mms, ::enterprise eval {set :dummy 1} parameters/object-level-variable.002: 5.80 mms, ::enterprise object variable -nocomplain captain1 {James Kirk} parameters/object-level-variable.003: 89.69 mms, ::enterprise object property -nocomplain {captain2 {Jean Luc}} parameters/object-level-variable.004: 0.99 mms, ::enterprise eval {set :captain1} parameters/object-level-variable.005: 1.01 mms, ::enterprise eval {set :captain2} parameters/object-level-variable.006: 0.93 mms, ::enterprise info lookup method captain1 parameters/object-level-variable.007: 0.95 mms, ::enterprise info lookup method captain2 parameters/object-level-variable.008: 11.85 mms, ::enterprise object variable -nocomplain x1:int 1 parameters/object-level-variable.009: 102.33 mms, ::enterprise object property -nocomplain {x2:int 2} parameters/object-level-variable.010: ::enterprise object variable y1:int a ok parameters/object-level-variable.011: ::enterprise object property {y2:int b} ok parameters/object-level-variable.012: ::enterprise object variable x1:int 1 ok parameters/object-level-variable.013: ::enterprise object property {x2:int 2} ok parameters/object-level-variable.014: 20.23 mms, ::enterprise object variable -nocomplain xm1:int,1..n {1 2 3} parameters/object-level-variable.015: 121.31 mms, ::enterprise object property -nocomplain {xm2:int,1..n {1 2 3}} parameters/object-level-variable.016: 0.97 mms, ::enterprise eval {set :xm1} parameters/object-level-variable.017: 1.00 mms, ::enterprise eval {set :xm2} parameters/object-level-variable.018: ::enterprise object variable -nocomplain xm1:int,1..n {1 2a 3} ok parameters/object-level-variable.019: ::enterprise object property -nocomplain {xm2:int,1..n {1 2a 3}} ok parameters/object-level-variable.020: ::enterprise object variable dummy:int ok parameters/object-level-variable.021: ::enterprise object variable -nocomplain r1:range,arg=1-10 11 ok parameters/object-level-variable.022: ::enterprise object property -nocomplain {r2:range,arg=1-10 11} ok parameters/object-level-variable.023: 16.04 mms, ::enterprise object variable -nocomplain r1:range,arg=1-10 5 parameters/object-level-variable.024: 112.19 mms, ::enterprise object property -nocomplain {r2:range,arg=1-10 5} parameters/object-level-variable.025: 201.02 mms, ::enterprise object variable -incremental -nocomplain i:int,0..* {} parameters/object-level-variable.026: 180.45 mms, ::enterprise object property -incremental -nocomplain j:int,0..* {} parameters/object-level-variable.027: 1.31 mms, ::enterprise i get parameters/object-level-variable.028: 1.31 mms, ::enterprise j get parameters/object-level-variable.029: 1.35 mms, ::enterprise i get parameters/object-level-variable.030: 1.33 mms, ::enterprise j get parameters/object-level-variable.031: ::enterprise i add a ok parameters/object-level-variable.032: ::enterprise j add a ok parameters/object-level-variable.033: 5.65 mms, ::C object variable -nocomplain v v0 parameters/object-level-variable.034: 82.08 mms, ::C object property -nocomplain {a a0} parameters/object-level-variable.035: 0.96 mms, ::C eval {set :v} parameters/object-level-variable.036: 0.94 mms, ::C eval {set :a} parameters/object-level-variable.037: 11.74 mms, ::C object variable -nocomplain x:int 0 parameters/object-level-variable.038: ::C object variable -nocomplain y:int a0 ok notice: Running test case: ./tests/parameters.test class-level-variable parameters/class-level-variable.001: 1.84 mms, lsort [c1 info vars] parameters/class-level-variable.002: 1.08 mms, c1 eval {set :v} parameters/class-level-variable.003: 1.09 mms, c1 eval {set :a} parameters/class-level-variable.004: 3.92 mms, C info lookup parameters create a parameters/class-level-variable.005: 5.53 mms, C info lookup syntax create parameters/class-level-variable.006: 3.80 mms, C info lookup parameters create v parameters/class-level-variable.007: 8.47 mms, [C info slots v] definition parameters/class-level-variable.008: 2.04 mms, C create c2 -a 10 parameters/class-level-variable.009: C create c2 -v 10 ok parameters/class-level-variable.010: 1.17 mms, c1 info lookup method a parameters/class-level-variable.011: 0.96 mms, c1 info lookup method v notice: Running test case: ./tests/parameters.test single-variable parameters/single-variable.001: 100.42 mms, nx::Class create C { :variable v 1 :create c1 } parameters/single-variable.002: 1.18 mms, c1 info vars parameters/single-variable.003 hint: we could compare with errorCode: TCL READ VARNAME parameters/single-variable.003: nx::Class create D { :variable :v 1 } ok notice: Running test case: ./tests/parameters.test delete-class-level-variable-and-property parameters/delete-class-level-variable-and-property.001: 1.73 mms, lsort [c1 info vars] parameters/delete-class-level-variable-and-property.002: 3.94 mms, C info lookup parameters create a parameters/delete-class-level-variable-and-property.003: 3.85 mms, C info lookup parameters create v parameters/delete-class-level-variable-and-property.004: 1.18 mms, c1 info lookup method a parameters/delete-class-level-variable-and-property.005: 0.93 mms, c1 info lookup method v parameters/delete-class-level-variable-and-property.006: 3.81 mms, C info lookup parameters create a parameters/delete-class-level-variable-and-property.007: 0.94 mms, c1 info lookup method a parameters/delete-class-level-variable-and-property.008: 1.76 mms, lsort [c1 info vars] parameters/delete-class-level-variable-and-property.009: 1.68 mms, C create c2 parameters/delete-class-level-variable-and-property.010: 0.99 mms, lsort [c2 info vars] notice: Running test case: ./tests/parameters.test delete-object-level-variable-and-property parameters/delete-object-level-variable-and-property.001: 2.22 mms, lsort [o info vars] parameters/delete-object-level-variable-and-property.002: 1.15 mms, o info lookup method a parameters/delete-object-level-variable-and-property.003: 1.00 mms, o info lookup method v parameters/delete-object-level-variable-and-property.004: 0.99 mms, o info lookup method a parameters/delete-object-level-variable-and-property.005: 1.34 mms, lsort [o info vars] notice: Running test case: ./tests/parameters.test object-parameter-switch parameters/object-parameter-switch.001: 162.65 mms, ::nx::Class create C { :property -accessor public foo:switch :create c1 } parameters/object-parameter-switch.002: 1.58 mms, lsort [c1 info vars] parameters/object-parameter-switch.003: 1.10 mms, c1 eval {set :foo} parameters/object-parameter-switch.004: 1.07 mms, C info methods parameters/object-parameter-switch.005: 1.30 mms, c1 info lookup method foo parameters/object-parameter-switch.006: 1.37 mms, c1 foo get parameters/object-parameter-switch.007: 1.70 mms, c1 foo set 1 parameters/object-parameter-switch.008: 1.37 mms, c1 foo get parameters/object-parameter-switch.009: 1.58 mms, lsort [c2 info vars] parameters/object-parameter-switch.010: 1.08 mms, c2 eval {set :foo} parameters/object-parameter-switch.011: 1.36 mms, c1 foo get parameters/object-parameter-switch.012: 1.55 mms, lsort [c3 info vars] parameters/object-parameter-switch.013: 1.10 mms, c3 eval {set :foo} parameters/object-parameter-switch.014: 1.79 mms, lsort [c4 info vars] parameters/object-parameter-switch.015: 1.08 mms, c4 eval {set :foo2} parameters/object-parameter-switch.016: 1.83 mms, lsort [c5 info vars] parameters/object-parameter-switch.017: 1.10 mms, c5 eval {set :foo2} parameters/object-parameter-switch.018: 24.84 mms, ::nx::Object create o1 { :object variable foo:switch :object variable bar:switch 1 } parameters/object-parameter-switch.019: 1.07 mms, check value of switch variable without default parameters/object-parameter-switch.020: 1.08 mms, check value of switch variable with default notice: Running test case: ./tests/parameters.test class-info-slots-types parameters/class-info-slots-types.001: 3.71 mms, C info lookup parameters create v parameters/class-info-slots-types.002: 2.69 mms, C info slots parameters/class-info-slots-types.003: 5.21 mms, ::C::slot::v definition parameters/class-info-slots-types.004: 4.05 mms, D info lookup parameters create p* parameters/class-info-slots-types.005: 1.17 mms, D info methods parameters/class-info-slots-types.006: 2.94 mms, D info slots notice: Running test case: ./tests/parameters.test object-info-slots-types parameters/object-info-slots-types.001: 2.44 mms, o1 info object slots parameters/object-info-slots-types.002: 5.93 mms, ::o1::per-object-slot::v2 definition parameters/object-info-slots-types.003: 5.41 mms, ::o1::per-object-slot::v1 definition parameters/object-info-slots-types.004: 1.30 mms, o2 info object methods parameters/object-info-slots-types.005: 2.46 mms, o2 info object slots parameters/object-info-slots-types.006: 8.29 mms, [o2 info object slots p0] definition parameters/object-info-slots-types.007: 8.35 mms, [o2 info object slots p1] definition parameters/object-info-slots-types.008: 8.25 mms, [o2 info object slots p3] definition notice: Running test case: ./tests/parameters.test noconfig-switch-interaction parameters/noconfig-switch-interaction.001: 0.97 mms, string match {invalid non-positional argument '-x=1',*} {invalid non-positional argument '-x=1', valid are: -object-mixins, -object-filters, -class; should be "::nsf::__#FE configure ?-object-mixins /mixinreg .../? ?-object-filters /filterreg .../? ?-class /class/? ?/__initblock/?" ::nsf::__#FE ::nx::Object->configure invoked from within ":configure -x=1" ::nx::Object ::nx::Class->create ::nx::Object ::nx::Class->new invoked from within "nx::Object new { :object property x:switch,noconfig; :configure -x=1}"} parameters/noconfig-switch-interaction.002: 0.98 mms, string match {invalid non-positional argument '-y=1',*} {invalid non-positional argument '-y=1', valid are: -object-mixins, -object-filters, -class; should be "::nsf::__#FG configure ?-object-mixins /mixinreg .../? ?-object-filters /filterreg .../? ?-class /class/? ?/__initblock/?" ::nx::Class ::nx::Class->create ::nx::Class ::nx::Class->new invoked from within "nx::Class new { :property y:switch,noconfig; :new -y=1}"} notice: Running test case: ./tests/parameters.test properties parameters/properties.001: 12.02 mms, [Foo info slots a] definition parameters/properties.002: 9.04 mms, [Foo info slots b] definition parameters/properties.003: 9.98 mms, [Foo info slots a] definition parameters/properties.004: 9.76 mms, [Foo info slots b] definition parameters/properties.005: 9.26 mms, [Foo info slots a] definition parameters/properties.006: 9.73 mms, [Foo info slots b] definition parameters/properties.007: 10.11 mms, [Foo info slots objs] definition parameters/properties.008: 10.13 mms, [Foo info slots ints] definition parameters/properties.009: 10.09 mms, [Foo info slots obj] definition notice: Running test case: ./tests/parameters.test side-effect-set-value parameters/side-effect-set-value.001: 4.47 mms, side-effect overwrites default parameters/side-effect-set-value.002: 4.27 mms, side-effect determines value notice: Running test case: ./tests/parameters.test xotcl-configure-method parameters/xotcl-configure-method.001: o configure -order 15 ok notice: Running test case: ./tests/parameters.test forward-to-set parameters/forward-to-set.001: ::nsf::__#lZ eval {info exists :bar} ok parameters/forward-to-set.002: set ::slotcalls ok parameters/forward-to-set.003: ::nsf::__#lZ bar get ok parameters/forward-to-set.004: ::nsf::__#la eval {info exists :bar} ok parameters/forward-to-set.005: set ::slotcalls ok parameters/forward-to-set.006: ::nsf::__#la bar get ok parameters/forward-to-set.007: ::nsf::__#lb eval {info exists :baz} ok parameters/forward-to-set.008: baz without object parameter value ok parameters/forward-to-set.009: ::nsf::__#lb baz get ok parameters/forward-to-set.010: ::nsf::__#lc eval {info exists :baz} ok parameters/forward-to-set.011: baz with object parameter value ok parameters/forward-to-set.012: ::nsf::__#lc baz get ok parameters/forward-to-set.013: Foo info method exists baz ok notice: Running test case: ./tests/parameters.test forward-to-set2 parameters/forward-to-set2.001: nx::Class create Foo { :property -accessor none bar { :public object method value=set { object property value } { incr ::slotcalls 1 nsf::var::set $object $property $value } }} ok parameters/forward-to-set2.002: catch {Foo new} ok parameters/forward-to-set2.003: set ::slotcalls ok parameters/forward-to-set2.004: catch {Foo new} ok parameters/forward-to-set2.005: set ::slotcalls ok parameters/forward-to-set2.006: catch {Foo new -baz "test"} ok parameters/forward-to-set2.007: set ::slotcalls ok parameters/forward-to-set2.008: Foo info method exists baz ok notice: Running test case: ./tests/parameters.test forward-to-incremental parameters/forward-to-incremental.001: nx::Class create Foo { :property bar { :public object method initialize { object property } { incr ::slotcalls 1 } }} ok parameters/forward-to-incremental.002: catch {Foo new} ok parameters/forward-to-incremental.003: set ::slotcalls ok notice: Running test case: ./tests/parameters.test slot-container-name-interaction parameters/slot-container-name-interaction.001: Test2 create t2 ok parameters/slot-container-name-interaction.002: t2 list set 3 ok parameters/slot-container-name-interaction.003: t2 list get ok parameters/slot-container-name-interaction.004: t2 list this should call unknown ok notice: Running test case: ./tests/parameters.test object-level-defaults parameters/object-level-defaults.001: o eval {info exists :a} ok parameters/object-level-defaults.002: catch { o object variable -accessor public -initblock { :public object method value=set args { incr :assignCalled next } } a 1} ok parameters/object-level-defaults.003: o eval {info exists :a} ok parameters/object-level-defaults.004: o eval {info exists :assignCalled} ok parameters/object-level-defaults.005: o a get ok notice: Running test case: ./tests/parameters.test cmd-error-propagation parameters/cmd-error-propagation.001: nx::Object new { error "bow-wow" } ok parameters/cmd-error-propagation.002: nx::Object new { :object method foo {} { error "bow-wow" } :foo } ok parameters/cmd-error-propagation.003: nx::Object new { # Note: Creating a slot causes a destroy() to perform some cascading # operations which eventually reset the interp result at some # point. :object property x :object method foo {} { error "bow-wow" } :foo } ok Error in method destroy: NONE BOW-WOW while executing "error "BOW-WOW"" (procedure "destroy" line 4) ::nsf::__#lk->destroy parameters/cmd-error-propagation.004: nx::Object new { :object method destroy {} { # This (inner) error message is swallowed and written to stderr # directly. The original (outer) error message is preserved. error "BOW-WOW" } :object method foo {} { error "bow-wow" } :foo } ok notice: Running test case: ./tests/parameters.test nsf-proc-checkalways parameters/nsf-proc-checkalways.001: p1 -x 100 ok parameters/nsf-proc-checkalways.002: p1 -x a100 ok parameters/nsf-proc-checkalways.003: p2 -x 100 ok parameters/nsf-proc-checkalways.004: p2 -x a100 ok parameters/nsf-proc-checkalways.005: p1 -x a100 ok parameters/nsf-proc-checkalways.006: p2 -x a100 ok notice: Running test case: ./tests/parameters.test nsf-method-checkalways parameters/nsf-method-checkalways.001: c1 m1 -x 100 ok parameters/nsf-method-checkalways.002: c1 m2 -x 100 ok parameters/nsf-method-checkalways.003: c1 m1 -x a100 ok parameters/nsf-method-checkalways.004: c1 m2 -x a100 ok parameters/nsf-method-checkalways.005: C om1 -x 200 ok parameters/nsf-method-checkalways.006: C om2 -x 200 ok parameters/nsf-method-checkalways.007: C om1 -x a ok parameters/nsf-method-checkalways.008: C om2 -x a ok parameters/nsf-method-checkalways.009: c1 m1 -x a100 ok parameters/nsf-method-checkalways.010: c1 m2 -x a100 ok parameters/nsf-method-checkalways.011: C om1 -x a ok parameters/nsf-method-checkalways.012: C om2 -x a ok notice: Running test case: ./tests/parameters.test parameter-get parameters/parameter-get.001: C info lookup parameters create foo ok parameters/parameter-get.002: nsf::parameter::info type [C info lookup parameters create foo] ok parameters/parameter-get.003: C info lookup parameters create o ok parameters/parameter-get.004: nsf::parameter::info type [C info lookup parameters create o] ok parameters/parameter-get.005: C info lookup parameters create c ok parameters/parameter-get.006: nsf::parameter::info type [C info lookup parameters create c] ok parameters/parameter-get.007: C info lookup parameters create m ok parameters/parameter-get.008: nsf::parameter::info type [C info lookup parameters create m] ok notice: Running test case: ./tests/parameters.test new-parameter-passing parameters/new-parameter-passing.001: isGlobalNew [C new] ok parameters/new-parameter-passing.002: isONew [C new -childof o] ok parameters/new-parameter-passing.003: isGlobalNew [C new --] ok parameters/new-parameter-passing.004: isGlobalNew [C new -- -childof x] ok parameters/new-parameter-passing.005: isONew [C new -childof o -- -childof x] ok Warning: Non-positional parameter -childof was passed more than once (::C method new -childof o -childof xxx) parameters/new-parameter-passing.006: isONew [C new -childof o -childof xxx] ok parameters/new-parameter-passing.007: $::o1 cget -childof ok parameters/new-parameter-passing.008: $::o1 cget -childof ok notice: Running test case: ./tests/parameters.test value=changed parameters/value=changed.001: C create c1 ok parameters/value=changed.002: set ::slotset_a ok parameters/value=changed.003: set ::slotset_b ok parameters/value=changed.004: set ::slotset_c ok parameters/value=changed.005: set ::slotset_a ok parameters/value=changed.006: set ::slotset_b ok parameters/value=changed.007: set ::slotset_c ok parameters/value=changed.008: set ::slotset_a ok parameters/value=changed.009: set ::slotset_b ok parameters/value=changed.010: set ::slotset_c ok parameters/value=changed.011: c1 cget -a ok parameters/value=changed.012: c1 cget -b ok parameters/value=changed.013: c1 cget -c ok parameters/value=changed.014: c1 cget -a ok parameters/value=changed.015: c1 cget -b ok parameters/value=changed.016: c1 cget -c ok parameters/value=changed.017: set ::slotset_a ok parameters/value=changed.018: set ::slotset_b ok parameters/value=changed.019: set ::slotset_c ok parameters/value=changed.020: c1 cget -a ok parameters/value=changed.021: c1 cget -b ok parameters/value=changed.022: c1 cget -c ok parameters/value=changed.023: c1 a set 200 ok parameters/value=changed.024: c1 b set 200 ok parameters/value=changed.025: c1 c set 200 ok parameters/value=changed.026: set ::slotset_a ok parameters/value=changed.027: set ::slotset_b ok parameters/value=changed.028: set ::slotset_c ok notice: Running test case: ./tests/parameters.test trace-meta-slot parameters/trace-meta-slot.001: set ::trace_set ok parameters/trace-meta-slot.002: set ::trace_get ok parameters/trace-meta-slot.003: ::f1 configure -x "1" ok parameters/trace-meta-slot.004: set ::trace_set ok parameters/trace-meta-slot.005: set ::trace_get ok parameters/trace-meta-slot.006: ::f1 exists x ok parameters/trace-meta-slot.007: set ::trace_set ok parameters/trace-meta-slot.008: set ::trace_get ok parameters/trace-meta-slot.009: ::f1 cget -x ok parameters/trace-meta-slot.010: set ::trace_set ok parameters/trace-meta-slot.011: set ::trace_get ok parameters/trace-meta-slot.012: ::f1 configure -x 2 ok parameters/trace-meta-slot.013: ::f1 cget -x ok parameters/trace-meta-slot.014: ::f1 foo ok parameters/trace-meta-slot.015: set ::trace_set ok parameters/trace-meta-slot.016: set ::trace_get ok parameters/trace-meta-slot.017: ::f1 cget -x ok notice: Running test case: ./tests/parameters.test trace-meta-slot parameters/trace-meta-slot.018: set ::trace_set ok parameters/trace-meta-slot.019: set ::trace_get ok parameters/trace-meta-slot.020: lsort [::f1 vars] ok parameters/trace-meta-slot.021: ::f1 cget -x ok parameters/trace-meta-slot.022: set ::trace_set ok parameters/trace-meta-slot.023: set ::trace_get ok parameters/trace-meta-slot.024: ::f1 configure -x 2 ok parameters/trace-meta-slot.025: set ::trace_set ok parameters/trace-meta-slot.026: set ::trace_get ok parameters/trace-meta-slot.027: ::f1 cget -x ok parameters/trace-meta-slot.028: ::f1 foo ok parameters/trace-meta-slot.029: set ::trace_set ok parameters/trace-meta-slot.030: set ::trace_get ok parameters/trace-meta-slot.031: ::f1 cget -x ok notice: Running test case: ./tests/parameters.test parseargs parameters/parseargs.001: nsf::parseargs {a:int} {1}; info exists a ok parameters/parseargs.002: nsf::parseargs {a:int} {1}; info exists b ok parameters/parseargs.003: nsf::parseargs {a:int} {a} ok parameters/parseargs.004: nsf::parseargs {-foo:int {-bar:int 2} baz} {hi} list [info exists foo] [info exists bar] [info exists baz] ok parameters/parseargs.005: nsf::parseargs -asdict {-foo:int {-bar:int 2} baz} {hi} ok parameters/parseargs.006: apply {{} {nsf::parseargs {} {}; llength [info vars]}} ok parameters/parseargs.007: apply {{} {nsf::parseargs {{x ""}} {}; info vars}} ok parameters/parseargs.008: apply {{} {nsf::parseargs {{x ""} {y ""}} {}; lsort [info vars]}} ok parameters/parseargs.009: apply {{} {nsf::parseargs {{-a 1} {-b} {x ""} {y ""}} {}; lsort [info vars]}} ok parameters/parseargs.010: set bar ok parameters/parseargs.011: set baz ok parameters/parseargs.012: apply {{} {nsf::parseargs a 1; info exists a}} ok parameters/parseargs.013: apply {{} {nsf::parseargs {a b} {1 2}; expr {[info exists a]+[info exists b]}}} ok parameters/parseargs.014: apply {{} {nsf::parseargs {a b args} {1 2 3 4}; expr {[info exists a]+[info exists b]+[info exists args]}}} ok parameters/parseargs.015: apply {{} {nsf::parseargs a 1; expr {"a" in [info vars]};}} ok notice: Running test case: ./tests/parameters.test type-converter-binding parameters/type-converter-binding.001: ::ns1::B::slot::b1 cget -type ok parameters/type-converter-binding.002: ::ns1::B::slot::b2 cget -type ok parameters/type-converter-binding.003: ::A::slot::a1 cget -type ok parameters/type-converter-binding.004: ::A::slot::a2 cget -type ok parameters/type-converter-binding.005: ::A::slot::a3 cget -type ok parameters/type-converter-binding.006: ::A::slot::a4 cget -type ok parameters/type-converter-binding.007: ::A::slot::a5 cget -type ok parameters/type-converter-binding.008: catch {::ns1::B create b1 -b1 [::ns1::A new] -b2 [::ns1::ns2::A new]} ok notice: Running test case: ./tests/parameters.test substdefault-hardening parameters/substdefault-hardening.001: ::K cget -p2 ok parameters/substdefault-hardening.002: ::k cget -p4 ok parameters/substdefault-hardening.003: ::K object property {p3:substdefault "[[set _ 1]"} ok parameters/substdefault-hardening.004: ::K property {p5:substdefault "[[set _ 2]"} ok parameters/substdefault-hardening.005: [::K new] cget -p6 ok parameters/substdefault-hardening.006: ::K cget -p7 ok notice: Running test case: ./tests/parameters.test type-reform parameters/type-reform.001: ::o foo [::C new] ok parameters/type-reform.002: [::o faa [::C new]] info class ok parameters/type-reform.003: [::o s1 [::C new]] info class ok parameters/type-reform.004: [[::C new] s2 [::C new]] info class ok parameters/type-reform.005: [[::C new] s2 ::c1] info class ok parameters/type-reform.006: nsf::parameter::info type [::o info object method parameters foo p1] ok parameters/type-reform.007: [::ns1::ns2::A new] foo [$::C new] ok parameters/type-reform.008: nsf::parameter::info type [::ns1::ns2::A info method parameters foo p1] ok parameters/type-reform.009: [[::ns1::ns2::A new] faa [$::C new]] info class ok parameters/type-reform.010: [[::ns1::ns2::A new] s3 [$::C new]] info class ok parameters/type-reform.011: [::ns1::ns2::A s4 [$::C new]] info class ok parameters/type-reform.012: ::ns1::ns2::foo [$::C new] ok parameters/type-reform.013: ::foo [::C new] ok parameters/type-reform.014: ::bar [::C new] ok parameters/type-reform.015: ::baz [::C new] ok parameters/type-reform.016: ::ns1::ns2::bar [$::C new] ok parameters/type-reform.017: ::ns1::ns2::baz [$::C new] ok parameters/type-reform.018: [::ns1::ns2::A new] foo ::c ok notice: Running test case: ./tests/parameters.test check-object-variables parameters/check-object-variables.001: ::o1 object variable v01:int 1 ok parameters/check-object-variables.002: ::o1 object variable v11:int a ok parameters/check-object-variables.003: ::o1 object variable v02:object,type=nx::Object ::nx::Object ok parameters/check-object-variables.004: ::o1 object variable v12:object,type=nx::Object a ok parameters/check-object-variables.005: ::o1 object variable v03:upper A ok parameters/check-object-variables.006: ::o1 object variable v13:upper a ok parameters/check-object-variables.007: ::o1 object variable v04:lower,1..n "a b c" ok parameters/check-object-variables.008: ::o1 object variable v14:lower,1..n "a B c" ok Warning: Could not find value checker type=type:nx::Object defined on ::nx::methodParameterSlot parameters/check-object-variables.009 hint: we could compare with errorCode: NSF VALUE CONSTRAINT parameters/check-object-variables.009: ::o1 object variable err:object,type:nx::Object ::nx::Object ok Summary: Test-set parameters tests 871 success 871 failure 0 ms 2017 TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./tests`/returns.test -libdir `echo ./unix` -testlog ./__test.log notice: Running test case: ./tests/returns.test int-returns returns/int-returns.001: 0.90 mms, c1 bar-ok1 1 2 returns/int-returns.002: 0.90 mms, c1 bar-ok2 1 2 returns/int-returns.003: c1 bar-nok 1 2 ok returns/int-returns.004: 0.91 mms, c1 incr x returns/int-returns.005: 0.89 mms, c1 incr x returns/int-returns.006: c1 lappend l e1 ok returns/int-returns.007: 0.84 mms, ::nsf::method::property C lappend returns returns/int-returns.008: 0.88 mms, ::nsf::method::property C lappend returns "" returns/int-returns.009: 0.87 mms, ::nsf::method::property C bar-ok1 returns "" returns/int-returns.010: 0.89 mms, ::nsf::method::property C bar-ok2 returns "" returns/int-returns.011: 0.88 mms, ::nsf::method::property C bar-nok returns "" returns/int-returns.012: 0.87 mms, c1 bar-ok1 1 2 returns/int-returns.013: 0.87 mms, c1 bar-ok2 1 2 returns/int-returns.014: 0.97 mms, c1 bar-nok 1 2 returns/int-returns.015: 0.86 mms, c1 lappend l e2 returns/int-returns.016: 0.85 mms, ::nsf::method::property C lappend returns returns/int-returns.017: 0.83 mms, ::nsf::method::property ::nx::Class method returns notice: Running test case: ./tests/returns.test app-specific-returns returns/app-specific-returns.001: 2.10 mms, c1 bar-ok1 1 2 returns/app-specific-returns.002: 2.00 mms, c1 bar-ok2 1 2 returns/app-specific-returns.003: c1 bar-nok 1 2 ok returns/app-specific-returns.004: 2.10 mms, c1 incr x returns/app-specific-returns.005: 1.90 mms, c1 incr x returns/app-specific-returns.006: c1 lappend l e1 ok notice: Running test case: ./tests/returns.test converting-returns returns/converting-returns.001: 1.53 mms, c1 bar-ok1 1 2 returns/converting-returns.002: 1.58 mms, c1 bar-ok2 female 2 returns/converting-returns.003: c1 bar-nok 1 6 ok returns/converting-returns.004: 1.46 mms, c1 set x male returns/converting-returns.005: 1.11 mms, c1 eval {set :x} returns/converting-returns.006: 1.45 mms, c1 set x returns/converting-returns.007: c1 set x hugo ok returns/converting-returns.008: 1.53 mms, c1 bar-ok1 1 2 returns/converting-returns.009: 1.56 mms, c1 bar-ok2 female 2 returns/converting-returns.010: c1 bar-nok 1 6 ok returns/converting-returns.011: 1.42 mms, c1 set x male returns/converting-returns.012: 1.10 mms, c1 eval {set :x} returns/converting-returns.013: 1.42 mms, c1 set x returns/converting-returns.014: c1 set x hugo ok notice: Running test case: ./tests/returns.test int-returns-nocheck returns/int-returns-nocheck.001: 0.89 mms, c1 bar-ok1 1 2 returns/int-returns-nocheck.002: 0.90 mms, c1 bar-ok2 1 2 returns/int-returns-nocheck.003: 0.98 mms, c1 bar-nok 1 2 returns/int-returns-nocheck.004: 0.94 mms, c1 incr x returns/int-returns-nocheck.005: 0.97 mms, c1 incr x returns/int-returns-nocheck.006: 10.38 mms, c1 lappend l e1 returns/int-returns-nocheck.007: 0.90 mms, ::nsf::method::property C lappend returns returns/int-returns-nocheck.008: 0.90 mms, ::nsf::method::property C lappend returns "" returns/int-returns-nocheck.009: 0.85 mms, c1 lappend l e2 returns/int-returns-nocheck.010: 0.86 mms, ::nsf::method::property C lappend returns returns/int-returns-nocheck.011: 0.85 mms, ::nsf::method::property ::nx::Class method returns notice: Running test case: ./tests/returns.test app-specific-returns-nocheck returns/app-specific-returns-nocheck.001: 1.10 mms, c1 bar-ok1 1 2 returns/app-specific-returns-nocheck.002: 1.10 mms, c1 bar-ok2 1 2 returns/app-specific-returns-nocheck.003: 1.10 mms, c1 bar-nok 1 2 returns/app-specific-returns-nocheck.004: 1.10 mms, c1 incr x returns/app-specific-returns-nocheck.005: 1.00 mms, c1 incr x returns/app-specific-returns-nocheck.006: 1.30 mms, c1 lappend l e1 notice: Running test case: ./tests/returns.test converting-returns-nocheck returns/converting-returns-nocheck.001: 0.88 mms, c1 bar-ok1 1 2 returns/converting-returns-nocheck.002: 0.89 mms, c1 bar-ok2 female 2 returns/converting-returns-nocheck.003: 0.99 mms, c1 bar-nok 1 6 returns/converting-returns-nocheck.004: 0.86 mms, c1 set x male returns/converting-returns-nocheck.005: 1.09 mms, c1 eval {set :x} returns/converting-returns-nocheck.006: 0.84 mms, c1 set x returns/converting-returns-nocheck.007: 0.85 mms, c1 set x hugo returns/converting-returns-nocheck.008: 1.54 mms, c1 bar-ok1 1 2 returns/converting-returns-nocheck.009: 1.68 mms, c1 bar-ok2 female 2 returns/converting-returns-nocheck.010: c1 bar-nok 1 6 ok returns/converting-returns-nocheck.011: 1.44 mms, c1 set x male returns/converting-returns-nocheck.012: 1.09 mms, c1 eval {set :x} returns/converting-returns-nocheck.013: 1.45 mms, c1 set x returns/converting-returns-nocheck.014: c1 set x hugo ok notice: Running test case: ./tests/returns.test int-returns-sugar === aliasedCmd ::lappend has regObj <> x '::C' where 'class' === aliasedCmd ::incr has regObj <> x '::C' where 'class' ::nsf::object::alloc ::nx::Class ::C {} ::C public object method instances {} -returns object,1..n {:info instances} ::C public forward ++ -returns integer ::expr 1 + ::C public method bar-nok {a b:integer} -returns integer {return a} ::C public method bar-ok1 {a b} -returns integer {return 1} ::C public method bar-ok2 {a b} -returns integer {return $a} ::C public alias incr -frame object -returns integer ::incr ::C public alias lappend -frame object -returns integer ::lappend ::C public forward | -returns integer ::append _ returns/int-returns-sugar.001: 0.69 mms, occurrences of returns returns/int-returns-sugar.002: 0.90 mms, c1 bar-ok1 1 2 returns/int-returns-sugar.003: 0.89 mms, c1 bar-ok2 1 2 returns/int-returns-sugar.004: 2.38 mms, c1 ++ 1000 returns/int-returns-sugar.005: c1 | a ok returns/int-returns-sugar.006: 0.91 mms, ::nsf::method::property ::C ::nsf::classes::C::bar-nok returns returns/int-returns-sugar.007: c1 bar-nok 1 2 ok returns/int-returns-sugar.008: 1.25 mms, C instances returns/int-returns-sugar.009: 0.91 mms, c1 incr x returns/int-returns-sugar.010: 0.92 mms, c1 incr x returns/int-returns-sugar.011: c1 lappend l e1 ok returns/int-returns-sugar.012: 0.87 mms, ::nsf::method::property C lappend returns returns/int-returns-sugar.013: 0.88 mms, ::nsf::method::property C lappend returns "" returns/int-returns-sugar.014: 0.89 mms, ::nsf::method::property C bar-ok1 returns "" returns/int-returns-sugar.015: 0.89 mms, ::nsf::method::property C bar-ok2 returns "" returns/int-returns-sugar.016: 0.89 mms, ::nsf::method::property C bar-nok returns "" returns/int-returns-sugar.017: 0.88 mms, ::nsf::method::property C ++ returns "" returns/int-returns-sugar.018: 0.88 mms, ::nsf::method::property C | returns "" returns/int-returns-sugar.019: 0.89 mms, c1 bar-ok1 1 2 returns/int-returns-sugar.020: 0.89 mms, c1 bar-ok2 1 2 returns/int-returns-sugar.021: 0.96 mms, c1 bar-nok 1 2 returns/int-returns-sugar.022: 0.87 mms, c1 lappend l e2 returns/int-returns-sugar.023: 2.44 mms, c1 ++ 1000 returns/int-returns-sugar.024: 1.04 mms, c1 | a returns/int-returns-sugar.025: 0.85 mms, ::nsf::method::property C lappend returns returns/int-returns-sugar.026: 0.84 mms, ::nsf::method::property ::nx::Class method returns notice: Running test case: ./tests/returns.test empty-paramdefs-robustedness returns/empty-paramdefs-robustedness.001: 0.59 mms, returns/empty-paramdefs-robustedness.002: 0.76 mms, ::nsf::method::property ::ku foo returns returns/empty-paramdefs-robustedness.003: 0.58 mms, returns/empty-paramdefs-robustedness.004: 0.76 mms, ::nsf::method::property ::ku foo returns returns/empty-paramdefs-robustedness.005: 0.75 mms, ::nsf::method::property ::ku foo returns returns/empty-paramdefs-robustedness.006: 0.59 mms, returns/empty-paramdefs-robustedness.007: 0.76 mms, ::nsf::method::property ::ku foo returns returns/empty-paramdefs-robustedness.008: 0.60 mms, Summary: Test-set returns tests 102 success 102 failure 0 ms 215 TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./tests`/method-require.test -libdir `echo ./unix` -testlog ./__test.log notice: Running test case: ./tests/method-require.test method-require method-require/method-require.001: 8.60 mms, ::C require method tcl::set method-require/method-require.002: 9.40 mms, ::C require object method lappend method-require/method-require.003: 8.10 mms, ::C require object method foo method-require/method-require.004: 38.80 mms, ::C require object method x method-require/method-require.005: 35.60 mms, ::C require method x method-require/method-require.006: 1.60 mms, ::C require namespace method-require/method-require.007: 9.80 mms, C require public method lappend method-require/method-require.008: 1.00 mms, ::nsf::method::property C lappend call-protected method-require/method-require.009: 9.80 mms, C require protected method lappend method-require/method-require.010: 0.90 mms, ::nsf::method::property C lappend call-protected method-require/method-require.011: 11.90 mms, C require protected object method set method-require/method-require.012: 1.00 mms, ::nsf::method::property C ::C::set call-protected method-require/method-require.013: 1.00 mms, c1 set x 100 method-require/method-require.014: 1.10 mms, c1 exists x method-require/method-require.015: 1.30 mms, C lappend some_list e1 e2 method-require/method-require.016: 1.20 mms, C foo 1 2 method-require/method-require.017: 1.10 mms, C x method-require/method-require.018: 9.20 mms, o1 require object method set method-require/method-require.019: 38.60 mms, o1 require object method x method-require/method-require.020: 11.20 mms, o1 require public object method lappend method-require/method-require.021: 1.00 mms, ::nsf::method::property o1 lappend call-protected method-require/method-require.022: 11.10 mms, o1 require protected object method lappend method-require/method-require.023: 1.00 mms, ::nsf::method::property o1 lappend call-protected notice: Running test case: ./tests/method-require.test parent-require method-require/parent-require.001: 1.90 mms, C create ::o::o method-require/parent-require.002: 1.00 mms, ::o info class method-require/parent-require.003: 0.90 mms, ::o::o info class method-require/parent-require.004: 1.80 mms, ::nx::Object create ::a::b method-require/parent-require.005: 0.90 mms, ::a info class method-require/parent-require.006: 0.90 mms, ::a::b info class method-require/parent-require.007: 2.00 mms, C create ::1::2::3::4 method-require/parent-require.008: 0.90 mms, ::1 info class method-require/parent-require.009: 0.90 mms, ::1::2 info class method-require/parent-require.010: 0.90 mms, ::1::2::3 info class method-require/parent-require.011: 1.00 mms, ::1::2::3::4 info class notice: Running test case: ./tests/method-require.test method-redefine-nonexistent method-require/method-redefine-nonexistent.001: nx::Class public method __alloc arg {return 1} ok method-require/method-redefine-nonexistent.002: nx::Class public method __dealloc arg {return 1} ok method-require/method-redefine-nonexistent.003: nx::Class public method __recreate arg {return 1} ok notice: Running test case: ./tests/method-require.test method-require-scope method-require/method-require-scope.001: o __alloc x ok Summary: Test-set method-require tests 38 success 38 failure 0 ms 4 TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./tests`/interceptor-slot.test -libdir `echo ./unix` -testlog ./__test.log notice: Running test case: ./tests/interceptor-slot.test mixin-method interceptor-slot/mixin-method.001: C info lookup method mixins ok interceptor-slot/mixin-method.002: C mixins set M ok interceptor-slot/mixin-method.003: C info precedence ok interceptor-slot/mixin-method.004: C mixins get ok interceptor-slot/mixin-method.005: C info mixins ok interceptor-slot/mixin-method.006: c1 info precedence ok interceptor-slot/mixin-method.007: C mixins add M2 ok interceptor-slot/mixin-method.008: c1 info precedence ok interceptor-slot/mixin-method.009: C mixins delete M2 ok interceptor-slot/mixin-method.010: c1 info precedence ok interceptor-slot/mixin-method.011: C mixins delete M ok interceptor-slot/mixin-method.012: C info mixins ok interceptor-slot/mixin-method.013: C mixins set ::M ok interceptor-slot/mixin-method.014: C mixins clear ok interceptor-slot/mixin-method.015: C info mixins ok interceptor-slot/mixin-method.016: C mixins add ::M ok interceptor-slot/mixin-method.017: C mixins set {} ok interceptor-slot/mixin-method.018: C info mixins ok notice: Running test case: ./tests/interceptor-slot.test nsf-mixin interceptor-slot/nsf-mixin.001: ::nsf::mixin C ::M ok interceptor-slot/nsf-mixin.002: C info mixins ok interceptor-slot/nsf-mixin.003: ::nsf::mixin C ::M2 ok interceptor-slot/nsf-mixin.004: C info mixins ok interceptor-slot/nsf-mixin.005: ::nsf::mixin C "" ok interceptor-slot/nsf-mixin.006: C info mixins ok notice: Running test case: ./tests/interceptor-slot.test per-object-mixins interceptor-slot/per-object-mixins.001: c1 info precedence ok interceptor-slot/per-object-mixins.002: c1 object mixins add M ok interceptor-slot/per-object-mixins.003: ::nsf::relation::get c1 object-mixin ok interceptor-slot/per-object-mixins.004: catch {c1 object mixin UNKNOWN} ok interceptor-slot/per-object-mixins.005: ::nsf::relation::get c1 object-mixin ok interceptor-slot/per-object-mixins.006: c1 object mixins add M ok interceptor-slot/per-object-mixins.007: c1 info precedence ok interceptor-slot/per-object-mixins.008: c1 object mixins add M2 ok interceptor-slot/per-object-mixins.009: c1 info precedence ok interceptor-slot/per-object-mixins.010: c1 object mixins delete M ok interceptor-slot/per-object-mixins.011: c1 info precedence ok interceptor-slot/per-object-mixins.012: c1 object mixins delete M2 ok interceptor-slot/per-object-mixins.013: c1 info precedence ok interceptor-slot/per-object-mixins.014: c1 object mixins add M ok interceptor-slot/per-object-mixins.015: c1 info object mixins ok interceptor-slot/per-object-mixins.016: c1 object mixins clear ok interceptor-slot/per-object-mixins.017: c1 info object mixins ok notice: Running test case: ./tests/interceptor-slot.test object-mixin-relation interceptor-slot/object-mixin-relation.001: ::nsf::relation::set C object-mixin M ok interceptor-slot/object-mixin-relation.002: C info precedence ok interceptor-slot/object-mixin-relation.003: C info object mixins ok interceptor-slot/object-mixin-relation.004: ::nsf::relation::set C object-mixin "" ok interceptor-slot/object-mixin-relation.005: C info precedence ok notice: Running test case: ./tests/interceptor-slot.test class+mixin interceptor-slot/class+mixin.001: C object mixins set M ok interceptor-slot/class+mixin.002: C info precedence ok interceptor-slot/class+mixin.003: C info object mixins ok interceptor-slot/class+mixin.004: C object mixins set "" ok interceptor-slot/class+mixin.005: C info precedence ok notice: Running test case: ./tests/interceptor-slot.test class+mixin-add interceptor-slot/class+mixin-add.001: C object mixins add M ok interceptor-slot/class+mixin-add.002: C info precedence ok interceptor-slot/class+mixin-add.003: C info object mixins ok interceptor-slot/class+mixin-add.004: C object mixins set "" ok interceptor-slot/class+mixin-add.005: C info precedence ok interceptor-slot/class+mixin-add.006: C object mixins add M ok interceptor-slot/class+mixin-add.007: C info precedence ok interceptor-slot/class+mixin-add.008: ::nsf::relation::get C object-mixin ok interceptor-slot/class+mixin-add.009: catch {C object mixins add UNKNOWN} ok interceptor-slot/class+mixin-add.010: ::nsf::relation::get C object-mixin ok interceptor-slot/class+mixin-add.011: C object mixins set "" ok interceptor-slot/class+mixin-add.012: C info precedence ok interceptor-slot/class+mixin-add.013: C object mixins set M ok interceptor-slot/class+mixin-add.014: C info precedence ok interceptor-slot/class+mixin-add.015: C object mixins get ok notice: Running test case: ./tests/interceptor-slot.test mixin-add interceptor-slot/mixin-add.001: C1 info lookup method mixins ok interceptor-slot/mixin-add.002: C1 info precedence ok interceptor-slot/mixin-add.003: c11 info precedence ok interceptor-slot/mixin-add.004: C1 info precedence ok interceptor-slot/mixin-add.005: o info precedence ok interceptor-slot/mixin-add.006: O info precedence ok interceptor-slot/mixin-add.007: O info precedence ok notice: Running test case: ./tests/interceptor-slot.test mixin-relation-invalid-value interceptor-slot/mixin-relation-invalid-value.001 hint: we could compare with errorCode: TCL VALUE LIST BRACE interceptor-slot/mixin-relation-invalid-value.001: lindex [subst $::str] 0 ok interceptor-slot/mixin-relation-invalid-value.002: C mixins get ok interceptor-slot/mixin-relation-invalid-value.003: C object mixins get ok interceptor-slot/mixin-relation-invalid-value.004 hint: we could compare with errorCode: TCL VALUE LIST BRACE interceptor-slot/mixin-relation-invalid-value.004: ::nsf::relation::set C class-mixin $::str ok interceptor-slot/mixin-relation-invalid-value.005 hint: we could compare with errorCode: TCL VALUE LIST BRACE interceptor-slot/mixin-relation-invalid-value.005: ::nsf::relation::set C object-mixin $::str ok interceptor-slot/mixin-relation-invalid-value.006: C mixins get ok interceptor-slot/mixin-relation-invalid-value.007: C object mixins get ok interceptor-slot/mixin-relation-invalid-value.008: C mixins set $::str ok interceptor-slot/mixin-relation-invalid-value.009: C object mixins set $::str ok notice: Running test case: ./tests/interceptor-slot.test filter-relation interceptor-slot/filter-relation.001: ::nsf::relation::get cc object-filter ok interceptor-slot/filter-relation.002: cc info object filters ok interceptor-slot/filter-relation.003: ::nsf::relation::set cc object-filter filterA ok interceptor-slot/filter-relation.004: cc info object filters ok interceptor-slot/filter-relation.005: cc object filters set filterB ok interceptor-slot/filter-relation.006: ::nsf::relation::get cc object-filter ok interceptor-slot/filter-relation.007: cc info object filters ok interceptor-slot/filter-relation.008: cc object filters add filterD ok interceptor-slot/filter-relation.009: ::nsf::relation::get cc object-filter ok interceptor-slot/filter-relation.010: cc info object filters ok interceptor-slot/filter-relation.011: cc object filters delete filterB ok interceptor-slot/filter-relation.012: ::nsf::relation::get cc object-filter ok interceptor-slot/filter-relation.013: cc info object filters ok interceptor-slot/filter-relation.014: catch {::nsf::relation::set cc object-filter UNKNOWN} ok interceptor-slot/filter-relation.015: ::nsf::relation::get cc object-filter ok interceptor-slot/filter-relation.016: cc info object filters ok interceptor-slot/filter-relation.017: ::nsf::relation::get CC object-filter ok interceptor-slot/filter-relation.018: CC info object filters ok interceptor-slot/filter-relation.019: ::nsf::relation::set CC object-filter filterC ok interceptor-slot/filter-relation.020: ::nsf::relation::get CC object-filter ok interceptor-slot/filter-relation.021: CC info object filters ok interceptor-slot/filter-relation.022: CC object filters clear ok interceptor-slot/filter-relation.023: ::nsf::relation::get CC object-filter ok interceptor-slot/filter-relation.024: CC info object filters ok interceptor-slot/filter-relation.025: ::nsf::relation::get CC class-filter ok interceptor-slot/filter-relation.026: CC info filters ok interceptor-slot/filter-relation.027: ::nsf::relation::set CC class-filter filterA ok interceptor-slot/filter-relation.028: ::nsf::relation::get CC class-filter ok interceptor-slot/filter-relation.029: CC info filters ok interceptor-slot/filter-relation.030: CC filters add filterB ok interceptor-slot/filter-relation.031: ::nsf::relation::get CC class-filter ok interceptor-slot/filter-relation.032: CC info filters ok interceptor-slot/filter-relation.033: CC filters delete filterA ok interceptor-slot/filter-relation.034: ::nsf::relation::get CC class-filter ok interceptor-slot/filter-relation.035: CC info filters ok interceptor-slot/filter-relation.036: catch {::nsf::relation::set CC class-filter UNKNOWN} ok interceptor-slot/filter-relation.037: ::nsf::relation::get CC class-filter ok interceptor-slot/filter-relation.038: CC info filters ok interceptor-slot/filter-relation.039: CC filters clear ok interceptor-slot/filter-relation.040: ::nsf::relation::get CC class-filter ok interceptor-slot/filter-relation.041: CC info filters ok notice: Running test case: ./tests/interceptor-slot.test filter-and-creation interceptor-slot/filter-and-creation.001: 5.33 mms, Foo create ob interceptor-slot/filter-and-creation.002: 1.67 mms, ::ob info lookup method unknown interceptor-slot/filter-and-creation.003: ob bar ok interceptor-slot/filter-and-creation.004: 1.67 mms, ob baz interceptor-slot/filter-and-creation.005: ob bar ok interceptor-slot/filter-and-creation.006: 1.67 mms, ob baz interceptor-slot/filter-and-creation.007: 4.33 mms, Foo create ob interceptor-slot/filter-and-creation.008: ob bar1 ok interceptor-slot/filter-and-creation.009: 3.00 mms, ob baz interceptor-slot/filter-and-creation.010: 4.00 mms, Foo create ob2 interceptor-slot/filter-and-creation.011: ob2 bar2 ok interceptor-slot/filter-and-creation.012: 2.67 mms, ob2 baz interceptor-slot/filter-and-creation.013: 4.67 mms, Foo create ob3 -object-filters myfilter notice: Running test case: ./tests/interceptor-slot.test intrinsic+method-handles interceptor-slot/intrinsic+method-handles.001: c1 foo ok interceptor-slot/intrinsic+method-handles.002: c1 [C info method definitionhandle foo] ok interceptor-slot/intrinsic+method-handles.003: c1 [B info method definitionhandle foo] ok interceptor-slot/intrinsic+method-handles.004: c1 [A info method definitionhandle foo] ok interceptor-slot/intrinsic+method-handles.005: nsf::dispatch c1 foo ok interceptor-slot/intrinsic+method-handles.006: nsf::dispatch c1 [C info method definitionhandle foo] ok interceptor-slot/intrinsic+method-handles.007: nsf::dispatch c1 [B info method definitionhandle foo] ok interceptor-slot/intrinsic+method-handles.008: nsf::dispatch c1 [A info method definitionhandle foo] ok interceptor-slot/intrinsic+method-handles.009: c1 bar ok interceptor-slot/intrinsic+method-handles.010: c1 [C info method definitionhandle bar] ok interceptor-slot/intrinsic+method-handles.011: c1 [B info method definitionhandle bar] ok interceptor-slot/intrinsic+method-handles.012: c1 [A info method definitionhandle bar] ok notice: Running test case: ./tests/interceptor-slot.test mixins+method-handles interceptor-slot/mixins+method-handles.001: c1 foo ok interceptor-slot/mixins+method-handles.002: c1 [C info method definitionhandle foo] ok interceptor-slot/mixins+method-handles.003: c1 [B info method definitionhandle foo] ok interceptor-slot/mixins+method-handles.004: c1 [A info method definitionhandle foo] ok interceptor-slot/mixins+method-handles.005: c1 foo ok interceptor-slot/mixins+method-handles.006: c1 [C info method definitionhandle foo] ok interceptor-slot/mixins+method-handles.007: c1 [B info method definitionhandle foo] ok interceptor-slot/mixins+method-handles.008: c1 [A info method definitionhandle foo] ok interceptor-slot/mixins+method-handles.009: c1 [Z info method definitionhandle foo] ok interceptor-slot/mixins+method-handles.010: c1 [Y info method definitionhandle foo] ok interceptor-slot/mixins+method-handles.011: c1 bar ok interceptor-slot/mixins+method-handles.012: c1 [C info method definitionhandle bar] ok interceptor-slot/mixins+method-handles.013: c1 [B info method definitionhandle bar] ok interceptor-slot/mixins+method-handles.014: c1 [A info method definitionhandle bar] ok interceptor-slot/mixins+method-handles.015: c1 [Z info method definitionhandle bar] ok interceptor-slot/mixins+method-handles.016: c1 [Y info method definitionhandle bar] ok notice: Running test case: ./tests/interceptor-slot.test mixins+method-handles+intrinsic interceptor-slot/mixins+method-handles+intrinsic.001: c1 foo ok interceptor-slot/mixins+method-handles+intrinsic.002: nsf::dispatch c1 -intrinsic foo ok interceptor-slot/mixins+method-handles+intrinsic.003: c1 foo ok interceptor-slot/mixins+method-handles+intrinsic.004: nsf::dispatch c1 -intrinsic foo ok interceptor-slot/mixins+method-handles+intrinsic.005: c1 info precedence ok interceptor-slot/mixins+method-handles+intrinsic.006: c1 bar ok interceptor-slot/mixins+method-handles+intrinsic.007: c1 [C info method definitionhandle bar] ok interceptor-slot/mixins+method-handles+intrinsic.008: c1 [B info method definitionhandle bar] ok interceptor-slot/mixins+method-handles+intrinsic.009: c1 [A info method definitionhandle bar] ok interceptor-slot/mixins+method-handles+intrinsic.010: c1 [Z info method definitionhandle bar] ok interceptor-slot/mixins+method-handles+intrinsic.011: c1 [Y info method definitionhandle bar] ok interceptor-slot/mixins+method-handles+intrinsic.012: c1 bar ok interceptor-slot/mixins+method-handles+intrinsic.013: c1 [C info method definitionhandle bar] ok interceptor-slot/mixins+method-handles+intrinsic.014: c1 [B info method definitionhandle bar] ok interceptor-slot/mixins+method-handles+intrinsic.015: c1 [A info method definitionhandle bar] ok interceptor-slot/mixins+method-handles+intrinsic.016: c1 [Z info method definitionhandle bar] ok interceptor-slot/mixins+method-handles+intrinsic.017: c1 [Y info method definitionhandle bar] ok notice: Running test case: ./tests/interceptor-slot.test filter-guard-separately interceptor-slot/filter-guard-separately.001: Room create r ok interceptor-slot/filter-guard-separately.002: set ::_ ok interceptor-slot/filter-guard-separately.003: Room create r ok interceptor-slot/filter-guard-separately.004: set ::_ ok interceptor-slot/filter-guard-separately.005: DangerRoom create d ok interceptor-slot/filter-guard-separately.006: set ::_ ok interceptor-slot/filter-guard-separately.007: expr [llength $::dangerRoomLog] > 2 ok notice: Running test case: ./tests/interceptor-slot.test filter-guard-separately interceptor-slot/filter-guard-separately.008: Room create r ok interceptor-slot/filter-guard-separately.009: set ::_ ok interceptor-slot/filter-guard-separately.010: r info lookup filters ok interceptor-slot/filter-guard-separately.011: r info lookup filters -guards ok interceptor-slot/filter-guard-separately.012: DangerRoom create d ok interceptor-slot/filter-guard-separately.013: set ::_ ok interceptor-slot/filter-guard-separately.014: expr [llength $::dangerRoomLog] > 2 ok interceptor-slot/filter-guard-separately.015: d info lookup filters ok notice: Running test case: ./tests/interceptor-slot.test filter-guard-separately interceptor-slot/filter-guard-separately.016: d1 info lookup mixins ok interceptor-slot/filter-guard-separately.017: d1 info lookup mixins ok interceptor-slot/filter-guard-separately.018: d1 info lookup mixins ok interceptor-slot/filter-guard-separately.019: d1 info lookup mixins -guards ok interceptor-slot/filter-guard-separately.020: d1 info lookup mixins -guards *2* ok interceptor-slot/filter-guard-separately.021: d1 info lookup mixins ok notice: Running test case: ./tests/interceptor-slot.test space-in-classname interceptor-slot/space-in-classname.001: c1 foo ok interceptor-slot/space-in-classname.002: C mixins add "M1 b" ok interceptor-slot/space-in-classname.003: C info mixins ok interceptor-slot/space-in-classname.004: M1 info mixins ok interceptor-slot/space-in-classname.005: M1 info mixinof ok interceptor-slot/space-in-classname.006: "M1 b" info mixins ok interceptor-slot/space-in-classname.007: c1 foo ok notice: Running test case: ./tests/interceptor-slot.test filtered-unknowns interceptor-slot/filtered-unknowns.001: info exists ::filtersCalled ok interceptor-slot/filtered-unknowns.002: info commands ::c1111 ok interceptor-slot/filtered-unknowns.003: xotcl::Object instfilter f; xotcl::Class instfilter f2; C ::c1111 ok interceptor-slot/filtered-unknowns.004: info exists ::filtersCalled ok interceptor-slot/filtered-unknowns.005: set ::filtersCalled ok Summary: Test-set interceptor-slot tests 214 success 214 failure 0 ms 5 TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./tests`/alias.test -libdir `echo ./unix` -testlog ./__test.log notice: Running test case: ./tests/alias.test alias-preliminaries alias/alias-preliminaries.001: 24.20 mms, lsort [::nx::VariableSlot info methods -type alias] alias/alias-preliminaries.002: 3.30 mms, ::nx::VariableSlot info method definition value=get alias/alias-preliminaries.003: 3.20 mms, nx::Object info method definition set alias/alias-preliminaries.004: 3.30 mms, nx::Object info method definition set alias/alias-preliminaries.005: 3.40 mms, nx::Object info method definition set alias/alias-preliminaries.006: nx::Object alias foo -frame object ::foo ok alias/alias-preliminaries.007: nx::Object alias foo -frame method ::foo ok alias/alias-preliminaries.008: 10.40 mms, nx::Object alias foo -frame default ::foo notice: Running test case: ./tests/alias.test alias-simple alias/alias-simple.001: 4.30 mms, ::nsf::method::alias ::Foo foo ::nsf::classes::Base::foo alias/alias-simple.002: 3.20 mms, Foo info method definition foo alias/alias-simple.003: 1.30 mms, f1 foo alias/alias-simple.004: 1.30 mms, f1 foo -x 2 alias/alias-simple.005: 1.40 mms, Foo info methods -type alias alias/alias-simple.006: 1.40 mms, Base info methods -type scripted alias/alias-simple.007: 1.30 mms, Foo info methods -type scripted alias/alias-simple.008: 1.30 mms, Foo info methods -type alias alias/alias-simple.009: 1.00 mms, Base info methods -type scripted alias/alias-simple.010: 1.10 mms, Foo info methods -type scripted alias/alias-simple.011: 2.70 mms, Foo info method definition foo alias/alias-simple.012: 2.40 mms, defined again alias/alias-simple.013: 1.30 mms, aliased again alias/alias-simple.014: 1.20 mms, still defined alias/alias-simple.015: 1.00 mms, removed notice: Running test case: ./tests/alias.test alias-chaining alias/alias-chaining.001: 1.60 mms, t foo alias/alias-chaining.002: 1.50 mms, t FOO alias/alias-chaining.003: 1.70 mms, lsort [T info methods] alias/alias-chaining.004: 1.50 mms, alias is deleted alias/alias-chaining.005: 2.10 mms, T info methods -type alias alias/alias-chaining.006: 2.70 mms, T info method definition FOO alias/alias-chaining.007: 1.80 mms, lsort [T info methods] alias/alias-chaining.008: 1.10 mms, S info methods alias/alias-chaining.009: 1.20 mms, T info methods alias/alias-chaining.010: 1.20 mms, S info methods alias/alias-chaining.011: 1.50 mms, s BAR alias/alias-chaining.012: 1.50 mms, t foo alias/alias-chaining.013: 2.60 mms, S info method definition BAR alias/alias-chaining.014: 1.10 mms, T info methods alias/alias-chaining.015: 1.10 mms, S info methods alias/alias-chaining.016: 1.70 mms, lsort [T info methods] alias/alias-chaining.017: 1.20 mms, S info methods alias/alias-chaining.018: 1.20 mms, S info methods alias/alias-chaining.019: 1.20 mms, T info methods alias/alias-chaining.020: 1.30 mms, T info methods alias/alias-chaining.021: 3.00 mms, lsort [T info object methods -type alias] alias/alias-chaining.022: 2.20 mms, lsort [T info object methods] alias/alias-chaining.023: 1.60 mms, t foo alias/alias-chaining.024: 3.00 mms, T info object method definition ZAP alias/alias-chaining.025: 1.60 mms, T FOO alias/alias-chaining.026: 1.60 mms, T BAR alias/alias-chaining.027: 1.60 mms, T ZAP alias/alias-chaining.028: 1.60 mms, T bar alias/alias-chaining.029: 1.40 mms, T info methods alias/alias-chaining.030: 2.10 mms, lsort [T info object methods] alias/alias-chaining.031: 1.50 mms, T BAR alias/alias-chaining.032: 1.60 mms, T ZAP alias/alias-chaining.033: 1.30 mms, T info methods alias/alias-chaining.034: 1.90 mms, lsort [T info object methods] alias/alias-chaining.035: 1.70 mms, T ZAP alias/alias-chaining.036: 1.30 mms, T info methods alias/alias-chaining.037: 1.90 mms, lsort [T info object methods] alias/alias-chaining.038: 1.60 mms, T ZAP alias/alias-chaining.039: 1.30 mms, T info methods alias/alias-chaining.040: 2.00 mms, lsort [T info object methods] notice: Running test case: ./tests/alias.test alias-per-object alias/alias-per-object.001: 2.30 mms, lsort [T info object methods] alias/alias-per-object.002: 1.60 mms, T m1 alias/alias-per-object.003: 1.60 mms, T M1 alias/alias-per-object.004: 1.60 mms, T M11 alias/alias-per-object.005: 2.00 mms, lsort [T info object methods] alias/alias-per-object.006: 1.60 mms, T m1 alias/alias-per-object.007: 1.60 mms, T M11 alias/alias-per-object.008: 1.90 mms, lsort [T info object methods] alias/alias-per-object.009: 2.10 mms, lsort [T info object methods] alias/alias-per-object.010: 1.70 mms, lsort [T info methods] alias/alias-per-object.011: 1.60 mms, T FOO2 alias/alias-per-object.012: 1.60 mms, t FOO1 alias/alias-per-object.013: 1.50 mms, t BAR alias/alias-per-object.014: 2.10 mms, lsort [T info object methods] alias/alias-per-object.015: 1.70 mms, lsort [T info methods] notice: Running test case: ./tests/alias.test alias-namespaced alias/alias-namespaced.001: 1.90 mms, lsort [T info methods] alias/alias-namespaced.002: 1.60 mms, t FOO alias/alias-namespaced.003: 1.40 mms, t BAR alias/alias-namespaced.004: 1.20 mms, t BAR2 alias/alias-namespaced.005: 0.90 mms, info procs ::ns1::* alias/alias-namespaced.006: 1.80 mms, lsort [T info methods] alias/alias-namespaced.007: 0.90 mms, namespace exists ::U alias/alias-namespaced.008: 0.90 mms, namespace exists ::U alias/alias-namespaced.009: 2.20 mms, lsort [U info object methods] alias/alias-namespaced.010: 1.60 mms, U BAR alias/alias-namespaced.011: 1.60 mms, U ZAP alias/alias-namespaced.012: 0.90 mms, namespace exists ::U alias/alias-namespaced.013: 1.40 mms, lsort [U info object methods] alias/alias-namespaced.014: 1.40 mms, U info lookup methods BAR alias/alias-namespaced.015: 1.40 mms, U info lookup methods ZAP notice: Running test case: ./tests/alias.test alias-dot-resolver alias/alias-dot-resolver.001: 2.00 mms, lsort [V info vars] alias/alias-dot-resolver.002: 1.90 mms, lsort [V info vars] alias/alias-dot-resolver.003: 1.80 mms, lsort [v info vars] alias/alias-dot-resolver.004: 2.00 mms, lsort [V info object methods] alias/alias-dot-resolver.005: 1.80 mms, lsort [V info methods] alias/alias-dot-resolver.006: 1.80 mms, V FOO2 alias/alias-dot-resolver.007: 1.70 mms, v FOO1 alias/alias-dot-resolver.008: 1.60 mms, lsort [V info methods] alias/alias-dot-resolver.009: 1.90 mms, lsort [V info object methods] notice: Running test case: ./tests/alias.test alias-store alias/alias-store.001: 10.50 mms, o public object method bar args {;} alias/alias-store.002: 1.30 mms, o info object methods bar alias/alias-store.003: 1.10 mms, a command ::o::bar exists alias/alias-store.004: 1.30 mms, info vars ::nsf::alias alias/alias-store.005: 1.00 mms, array exists ::nsf::alias alias/alias-store.006: 3.40 mms, ::nsf::method::alias ::o FOO ::foo alias/alias-store.007: 3.40 mms, ::nsf::method::alias ::C FOO ::foo alias/alias-store.008: 1.10 mms, info commands ::o::FOO alias/alias-store.009: 1.00 mms, info commands ::nsf::classes::C::FOO alias/alias-store.010: 0.90 mms, info exists ::nsf::alias(::o,FOO,1) alias/alias-store.011: 0.90 mms, info exists ::nsf::alias(::C,FOO,0) alias/alias-store.012: 1.60 mms, array get ::nsf::alias ::o,FOO,1 alias/alias-store.013: 1.60 mms, array get ::nsf::alias ::C,FOO,0 alias/alias-store.014: 2.90 mms, o info object method definition FOO alias/alias-store.015: 2.60 mms, C info method definition FOO alias/alias-store.016: 3.30 mms, redefine alias ::o::FOO alias/alias-store.017: 1.00 mms, info exists ::nsf::alias(::o,FOO,1) alias/alias-store.018: 1.60 mms, array get ::nsf::alias ::o,FOO,1 alias/alias-store.019: 2.80 mms, o info object method definition FOO alias/alias-store.020: 0.90 mms, info exists ::nsf::alias(::o,FOO,1) alias/alias-store.021: 1.10 mms, array get ::nsf::alias ::o,FOO,1 alias/alias-store.022: 1.80 mms, o info object method definition FOO alias/alias-store.023: 1.00 mms, info exists ::nsf::alias(::C,FOO,0) alias/alias-store.024: 1.10 mms, array get ::nsf::alias ::C,FOO,0 alias/alias-store.025: 1.80 mms, C info method definition FOO alias/alias-store.026: 1.00 mms, the target command ::foo exists alias/alias-store.027: 3.30 mms, ::nsf::method::alias ::o BAR ::foo alias/alias-store.028: 3.50 mms, ::nsf::method::alias ::C BAR ::foo alias/alias-store.029: 1.00 mms, delete alias via redefinition of an object method (alias exists still) alias/alias-store.030: 1.10 mms, info commands ::o::BAR alias/alias-store.031: 0.90 mms, info commands ::BAR alias/alias-store.032: 10.00 mms, ::o public object method BAR {} {;} alias/alias-store.033: 1.30 mms, o info object methods BAR alias/alias-store.034: 1.00 mms, a command ::o::BAR exists alias/alias-store.035: 0.90 mms, info commands ::BAR alias/alias-store.036: 1.00 mms, ::o::BAR is not an alias alias/alias-store.037: 1.00 mms, delete alias via redefinition of a an instance method alias/alias-store.038: 1.00 mms, info exists ::nsf::alias(::C,BAR,0) alias/alias-store.039: 1.00 mms, a command ::o::BAR does not exist alias/alias-store.040: 0.90 mms, delete alias via deleting the aliased proc via Tcl alias/alias-store.041: 1.00 mms, info exists ::nsf::alias(::o,FOO,1) alias/alias-store.042: 1.10 mms, ::o::bar does not exist alias/alias-store.043: 1.00 mms, a command ::o::FOO' exists alias/alias-store.044: 1.00 mms, a command ::o::BAR does not exist alias/alias-store.045: 3.40 mms, redefine an object alias based on existing (?) ::o::bar alias/alias-store.046: 3.20 mms, define an object alias based on alias based on existing (?) ::o::bar alias/alias-store.047: 1.00 mms, info exists ::nsf::alias(::o,FOO,1) alias/alias-store.048: 1.00 mms, info exists ::nsf::alias(::o,BAR,1) alias/alias-store.049: 1.00 mms, info exists ::nsf::alias(::o,FOO,1) alias/alias-store.050: 1.00 mms, info exists ::nsf::alias(::o,BAR,1) alias/alias-store.051: 1.00 mms, info exists ::nsf::alias(::C,FOO,0) alias/alias-store.052: 1.00 mms, info exists ::nsf::alias(::C,FOO,0) Warning: Could not obtain alias definition for FOO. Maybe someone deleted the alias FOO for object ::C? Warning: Could not obtain alias definition for FOO. Maybe someone deleted the alias FOO for object ::C? Warning: Could not obtain alias definition for FOO. Maybe someone deleted the alias FOO for object ::C? Warning: Could not obtain alias definition for FOO. Maybe someone deleted the alias FOO for object ::C? Warning: Could not obtain alias definition for FOO. Maybe someone deleted the alias FOO for object ::C? Warning: Could not obtain alias definition for FOO. Maybe someone deleted the alias FOO for object ::C? Warning: Could not obtain alias definition for FOO. Maybe someone deleted the alias FOO for object ::C? Warning: Could not obtain alias definition for FOO. Maybe someone deleted the alias FOO for object ::C? Warning: Could not obtain alias definition for FOO. Maybe someone deleted the alias FOO for object ::C? Warning: Could not obtain alias definition for FOO. Maybe someone deleted the alias FOO for object ::C? Warning: Could not obtain alias definition for FOO. Maybe someone deleted the alias FOO for object ::C? alias/alias-store.053: 7.80 mms, C info method definition FOO alias/alias-store.054: 2.20 mms, C info methods -type alias alias/alias-store.055: 2.00 mms, C info methods -type alias alias/alias-store.056: 1.00 mms, info exists ::nsf::alias(::C,FOO,0) Warning: Could not obtain alias definition for FOO. Maybe someone deleted the alias FOO for object ::C? Warning: Could not obtain alias definition for FOO. Maybe someone deleted the alias FOO for object ::C? Warning: Could not obtain alias definition for FOO. Maybe someone deleted the alias FOO for object ::C? Warning: Could not obtain alias definition for FOO. Maybe someone deleted the alias FOO for object ::C? Warning: Could not obtain alias definition for FOO. Maybe someone deleted the alias FOO for object ::C? Warning: Could not obtain alias definition for FOO. Maybe someone deleted the alias FOO for object ::C? Warning: Could not obtain alias definition for FOO. Maybe someone deleted the alias FOO for object ::C? Warning: Could not obtain alias definition for FOO. Maybe someone deleted the alias FOO for object ::C? Warning: Could not obtain alias definition for FOO. Maybe someone deleted the alias FOO for object ::C? Warning: Could not obtain alias definition for FOO. Maybe someone deleted the alias FOO for object ::C? Warning: Could not obtain alias definition for FOO. Maybe someone deleted the alias FOO for object ::C? alias/alias-store.057: 7.80 mms, C info method definition FOO alias/alias-store.058: 1.00 mms, info exists ::nsf::alias(::C,FOO,0) alias/alias-store.059: 1.00 mms, info exists ::nsf::alias(::C,FOO,0) alias/alias-store.060: 2.70 mms, lsort [C info methods -type alias] alias/alias-store.061: 0.90 mms, info exists ::nsf::alias(::C,FOO,0) alias/alias-store.062: 2.50 mms, lsort [C info methods -type alias] Notice: trying to refetch an epoched cmd 0x3ff882cb2e0 as FOO -- cmdName ::foo Notice: trying to refetch an epoched cmd 0x3ff882cb2e0 as FOO -- cmdName ::foo Notice: trying to refetch an epoched cmd 0x3ff882cb2e0 as FOO -- cmdName ::foo Notice: trying to refetch an epoched cmd 0x3ff882cb2e0 as FOO -- cmdName ::foo Notice: trying to refetch an epoched cmd 0x3ff882cb2e0 as FOO -- cmdName ::foo Notice: trying to refetch an epoched cmd 0x3ff882cb2e0 as FOO -- cmdName ::foo Notice: trying to refetch an epoched cmd 0x3ff882cb2e0 as FOO -- cmdName ::foo Notice: trying to refetch an epoched cmd 0x3ff882cb2e0 as FOO -- cmdName ::foo Notice: trying to refetch an epoched cmd 0x3ff882cb2e0 as FOO -- cmdName ::foo Notice: trying to refetch an epoched cmd 0x3ff882cb2e0 as FOO -- cmdName ::foo Notice: trying to refetch an epoched cmd 0x3ff882cb2e0 as FOO -- cmdName ::foo alias/alias-store.063: 6.20 mms, c FOO alias/alias-store.064: 2.70 mms, C info method definition FOO alias/alias-store.065: 2.00 mms, c FOO Notice: trying to refetch an epoched cmd 0x3ff882cb2e0 as FOO2 -- cmdName ::foo Notice: trying to refetch an epoched cmd 0x3ff882cb2e0 as FOO2 -- cmdName ::foo Notice: trying to refetch an epoched cmd 0x3ff882cb2e0 as FOO2 -- cmdName ::foo Notice: trying to refetch an epoched cmd 0x3ff882cb2e0 as FOO2 -- cmdName ::foo Notice: trying to refetch an epoched cmd 0x3ff882cb2e0 as FOO2 -- cmdName ::foo Notice: trying to refetch an epoched cmd 0x3ff882cb2e0 as FOO2 -- cmdName ::foo Notice: trying to refetch an epoched cmd 0x3ff882cb2e0 as FOO2 -- cmdName ::foo Notice: trying to refetch an epoched cmd 0x3ff882cb2e0 as FOO2 -- cmdName ::foo Notice: trying to refetch an epoched cmd 0x3ff882cb2e0 as FOO2 -- cmdName ::foo Notice: trying to refetch an epoched cmd 0x3ff882cb2e0 as FOO2 -- cmdName ::foo Notice: trying to refetch an epoched cmd 0x3ff882cb2e0 as FOO2 -- cmdName ::foo alias/alias-store.066: 6.40 mms, c FOO2 alias/alias-store.067: 2.00 mms, c FOO Notice: trying to refetch an epoched cmd 0x3ff882cb2e0 as FOO2 -- cmdName ::foo Notice: trying to refetch an epoched cmd 0x3ff882cb2e0 as FOO2 -- cmdName ::foo Notice: trying to refetch an epoched cmd 0x3ff882cb2e0 as FOO2 -- cmdName ::foo Notice: trying to refetch an epoched cmd 0x3ff882cb2e0 as FOO2 -- cmdName ::foo Notice: trying to refetch an epoched cmd 0x3ff882cb2e0 as FOO2 -- cmdName ::foo Notice: trying to refetch an epoched cmd 0x3ff882cb2e0 as FOO2 -- cmdName ::foo Notice: trying to refetch an epoched cmd 0x3ff882cb2e0 as FOO2 -- cmdName ::foo Notice: trying to refetch an epoched cmd 0x3ff882cb2e0 as FOO2 -- cmdName ::foo Notice: trying to refetch an epoched cmd 0x3ff882cb2e0 as FOO2 -- cmdName ::foo Notice: trying to refetch an epoched cmd 0x3ff882cb2e0 as FOO2 -- cmdName ::foo Notice: trying to refetch an epoched cmd 0x3ff882cb2e0 as FOO2 -- cmdName ::foo alias/alias-store.068: 6.90 mms, c FOO2 notice: Running test case: ./tests/alias.test class-resolve alias/class-resolve.001: 2.10 mms, A create a1 alias/class-resolve.002: 5.70 mms, nx::Class create C -superclass A alias/class-resolve.003: 2.00 mms, C create c1 alias/class-resolve.004: 1.20 mms, c1 foo alias/class-resolve.005: 2.30 mms, B create b1 alias/class-resolve.006: 1.20 mms, b1 foo alias/class-resolve.007: 6.20 mms, nx::Class create D -superclass B alias/class-resolve.008: 2.10 mms, D create d1 alias/class-resolve.009: 1.10 mms, d1 foo notice: Running test case: ./tests/alias.test proc-alias alias/proc-alias.001: 1.40 mms, c1 bar alias/proc-alias.002: 1.40 mms, c1 bar_ alias/proc-alias.003: 1.30 mms, c1 bar2 alias/proc-alias.004: 2.00 mms, d1 bar alias/proc-alias.005: 2.00 mms, d1 bar_ alias/proc-alias.006: 1.90 mms, d1 bar2 alias/proc-alias.007: 2.60 mms, c1 bar alias/proc-alias.008: 2.50 mms, c1 bar_ alias/proc-alias.009: 2.10 mms, c1 bar2 alias/proc-alias.010: 3.00 mms, d1 bar alias/proc-alias.011: 3.00 mms, d1 bar_ alias/proc-alias.012: 2.60 mms, d1 bar2 notice: Running test case: ./tests/alias.test proc-alias-compile alias/proc-alias-compile.001: 1.00 mms, foo 1 2 alias/proc-alias-compile.002: 2.20 mms, lsort [o info vars] alias/proc-alias-compile.003: 1.00 mms, o foo 1 2 alias/proc-alias-compile.004: 2.20 mms, lsort [o info vars] alias/proc-alias-compile.005: 1.30 mms, o bar 2 3 alias/proc-alias-compile.006: 2.40 mms, lsort [o info vars] alias/proc-alias-compile.007: 1.00 mms, o baz alias/proc-alias-compile.008: 2.70 mms, lsort [o info vars] alias/proc-alias-compile.009: 1.20 mms, bar 3 4 alias/proc-alias-compile.010: 1.20 mms, bar 3 4 notice: Running test case: ./tests/alias.test alias-proc-refetch alias/alias-proc-refetch.001: o foo ok Notice: trying to refetch an epoched cmd 0x3ff881ddfc0 as foo -- cmdName ::target alias/alias-proc-refetch.002: o foo ok notice: Running test case: ./tests/alias.test alias-precompiled-proc alias/alias-precompiled-proc.001: c1 vars ok alias/alias-precompiled-proc.002: ::foo 1 ok alias/alias-precompiled-proc.003: c1 foo 2 ok alias/alias-precompiled-proc.004: c1 vars ok alias/alias-precompiled-proc.005: c1 bar 2 ok alias/alias-precompiled-proc.006: c1 vars ok alias/alias-precompiled-proc.007: ::bar 3 ok alias/alias-precompiled-proc.008: c1 vars ok alias/alias-precompiled-proc.009: c1 baz ok alias/alias-precompiled-proc.010: c1 vars ok notice: Running test case: ./tests/alias.test refcount-object-alias-recreate1 alias/refcount-object-alias-recreate1.001: o info object method definition X ok alias/refcount-object-alias-recreate1.002: o info object method definition X ok alias/refcount-object-alias-recreate1.003: C info method definition A1 ok alias/refcount-object-alias-recreate1.004: C info method definition A1 ok alias/refcount-object-alias-recreate1.005: C info object method definition A2 ok alias/refcount-object-alias-recreate1.006: C info object method definition A2 ok notice: Running test case: ./tests/alias.test refcount-object-alias-recreate2 alias/refcount-object-alias-recreate2.001: o info object method definition X ok alias/refcount-object-alias-recreate2.002: o info object method definition X ok notice: Running test case: ./tests/alias.test refount-destroy-delete1 alias/refount-destroy-delete1.001: o info object method definition X ok alias/refount-destroy-delete1.002: x destroy ok alias/refount-destroy-delete1.003: nsf::object::exists x ok alias/refount-destroy-delete1.004: o info object method definition X ok alias/refount-destroy-delete1.005: ::o object alias X ::x ok alias/refount-destroy-delete1.006: ::o object alias X ::x ok notice: Running test case: ./tests/alias.test refount-destroy-delete2 alias/refount-destroy-delete2.001: nsf::object::exists ::baff::child ok alias/refount-destroy-delete2.002: o info object method definition X ok alias/refount-destroy-delete2.003: nsf::object::exists ::baff::child ok alias/refount-destroy-delete2.004: o info object method definition X ok alias/refount-destroy-delete2.005: nsf::object::exists ::baff::child ok alias/refount-destroy-delete2.006: ::o object alias X ::baff::child ok notice: Running test case: ./tests/alias.test cyclic-alias alias/cyclic-alias.001: ::o public object alias foo ::o::foo ok Notice: trying to refetch an epoched cmd 0x3ff882983a0 as foo -- cmdName ::o::foo alias/cyclic-alias.002: o foo ok Notice: trying to refetch an epoched cmd 0x3ff882983a0 as foo -- cmdName ::o::bar alias/cyclic-alias.003: o foo ok notice: Running test case: ./tests/alias.test proc-alias-target-namespace alias/proc-alias-target-namespace.001: alias to a global Tcl proc ok alias/proc-alias-target-namespace.002: alias to a namespaced Tcl proc ok alias/proc-alias-target-namespace.003: a method defined locally in ns2::o ok alias/proc-alias-target-namespace.004: alias to method defined in ::ns3 ok Summary: Test-set alias tests 240 success 240 failure 0 ms 8 TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./tests`/double-alias.test -libdir `echo ./unix` -testlog ./__test.log notice: Running test case: ./tests/double-alias.test alias-redefine-method1 double-alias/alias-redefine-method1.001: ::o public object method BAR {} {;} ok double-alias/alias-redefine-method1.002: ::nsf::method::alias ::o bar ::foo ok double-alias/alias-redefine-method1.003: ::o::bar exists ok double-alias/alias-redefine-method1.004: a command ::o::BAR exists ok double-alias/alias-redefine-method1.005: redefine an object method with an alias (pointing to an alias) 87a2 ok notice: Running test case: ./tests/double-alias.test alias-redefine-method2 double-alias/alias-redefine-method2.001: ::o public object method BAR {} {;} ok double-alias/alias-redefine-method2.002: ::o public object method FOO {} {;} ok double-alias/alias-redefine-method2.003: a command ::o::FOO exists ok double-alias/alias-redefine-method2.004: a command ::o::BAR exists ok double-alias/alias-redefine-method2.005: redefine an object method with an alias (pointing to a method) 87a2 ok notice: Running test case: ./tests/double-alias.test alias-double-alias-proc double-alias/alias-double-alias-proc.001: a command ::o::FOO' does not exist ok double-alias/alias-double-alias-proc.002: a command ::o::BAR does not exist ok double-alias/alias-double-alias-proc.003: define an object alias based on existing ::foo ok double-alias/alias-double-alias-proc.004: define an object alias based on alias based on existing ::o::FOO ok notice: Running test case: ./tests/double-alias.test alias-double-alias-define double-alias/alias-double-alias-define.001: ::nsf::method::alias ::o bar ::foo ok double-alias/alias-double-alias-define.002: ::o::bar exists ok double-alias/alias-double-alias-define.003: a command ::o::FOO' does not exists ok double-alias/alias-double-alias-define.004: a command ::o::BAR does not exist ok double-alias/alias-double-alias-define.005: define an object alias based on existing ::o::bar ok double-alias/alias-double-alias-define.006: define an object alias based on alias based on existing (?) ::o::bar ok notice: Running test case: ./tests/double-alias.test alias-double-alias-redefine double-alias/alias-double-alias-redefine.001: ::nsf::method::alias ::o FOO ::foo ok double-alias/alias-double-alias-redefine.002: ::nsf::method::alias ::o bar ::foo ok double-alias/alias-double-alias-redefine.003: ::o::bar exists ok double-alias/alias-double-alias-redefine.004: a command ::o::FOO' exists ok double-alias/alias-double-alias-redefine.005: a command ::o::BAR does not exist ok double-alias/alias-double-alias-redefine.006: redefine an object alias based on existing ::o::bar ok double-alias/alias-double-alias-redefine.007: define an object alias based on alias based on existing ::o::FOO ok notice: Running test case: ./tests/double-alias.test alias-double-alias-redefine0 double-alias/alias-double-alias-redefine0.001: ::o public object method BAR {} {;} ok double-alias/alias-double-alias-redefine0.002: ::nsf::method::alias ::o bar ::foo ok double-alias/alias-double-alias-redefine0.003: ::o::bar exists ok double-alias/alias-double-alias-redefine0.004: a command ::o::FOO' does not exist ok double-alias/alias-double-alias-redefine0.005: a command ::o::BAR exists ok double-alias/alias-double-alias-redefine0.006: define an object alias based on existing ::foo ok double-alias/alias-double-alias-redefine0.007: redefine an object alias based on alias based on existing ::o::FOO 87a2 ok notice: Running test case: ./tests/double-alias.test alias-double-alias-redefine1 double-alias/alias-double-alias-redefine1.001: ::o public object method BAR {} {;} ok double-alias/alias-double-alias-redefine1.002: ::nsf::method::alias ::o bar ::foo ok double-alias/alias-double-alias-redefine1.003: ::o::bar exists ok double-alias/alias-double-alias-redefine1.004: a command ::o::FOO' does not exist ok double-alias/alias-double-alias-redefine1.005: a command ::o::BAR exists ok double-alias/alias-double-alias-redefine1.006: define an object alias based on existing ::o::bar ok double-alias/alias-double-alias-redefine1.007: redefine an object alias based on alias based on existing ::o::FOO 87a2 ok notice: Running test case: ./tests/double-alias.test alias-double-alias-redefine2 double-alias/alias-double-alias-redefine2.001: ::nsf::method::alias ::o FOO ::foo ok double-alias/alias-double-alias-redefine2.002: ::o public object method BAR {} {;} ok double-alias/alias-double-alias-redefine2.003: ::nsf::method::alias ::o bar ::foo ok double-alias/alias-double-alias-redefine2.004: ::o::bar exists ok double-alias/alias-double-alias-redefine2.005: a command ::o::FOO' exists ok double-alias/alias-double-alias-redefine2.006: a command ::o::BAR exists ok double-alias/alias-double-alias-redefine2.007: redefine an object alias based on existing ::o::bar ok double-alias/alias-double-alias-redefine2.008: redefine an object alias based on alias based on existing ::o::FOO 87a2 ok notice: Running test case: ./tests/double-alias.test alias-double-alias-object-method-redefine double-alias/alias-double-alias-object-method-redefine.001: ::nsf::method::alias ::o FOO ::foo ok double-alias/alias-double-alias-object-method-redefine.002: ::o public object method bar {} {;} ok double-alias/alias-double-alias-object-method-redefine.003: handle ::o::bar exists ok double-alias/alias-double-alias-object-method-redefine.004: a command ::o::FOO' exists ok double-alias/alias-double-alias-object-method-redefine.005: a command ::o::BAR does not exist ok double-alias/alias-double-alias-object-method-redefine.006: redefine an object alias based on existing (?) ::o::bar ok double-alias/alias-double-alias-object-method-redefine.007: define an object alias based on alias based on existing ::o::FOO ok double-alias/alias-double-alias-object-method-redefine.008: info exists ::nsf::alias(::o,FOO,1) ok double-alias/alias-double-alias-object-method-redefine.009: info exists ::nsf::alias(::o,BAR,1) ok double-alias/alias-double-alias-object-method-redefine.010: info exists ::nsf::alias(::o,FOO,1) ok double-alias/alias-double-alias-object-method-redefine.011: info exists ::nsf::alias(::o,BAR,1) ok notice: Running test case: ./tests/double-alias.test alias-double-alias-object-method-redefine2 double-alias/alias-double-alias-object-method-redefine2.001: ::nsf::method::alias ::o FOO ::foo ok double-alias/alias-double-alias-object-method-redefine2.002: ::o public object method BAR {} {;} ok double-alias/alias-double-alias-object-method-redefine2.003: ::o public object method bar {} {;} ok double-alias/alias-double-alias-object-method-redefine2.004: handle ::o::bar exists ok double-alias/alias-double-alias-object-method-redefine2.005: a command ::o::FOO' exists ok double-alias/alias-double-alias-object-method-redefine2.006: a command ::o::BAR does not exist ok double-alias/alias-double-alias-object-method-redefine2.007: redefine an object alias based on existing (?) ::o::bar ok double-alias/alias-double-alias-object-method-redefine2.008: redefine an object alias based on alias based on existing ::o::FOO 87a2 ok Summary: Test-set double-alias tests 68 success 68 failure 0 ms 1 TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./tests`/protected.test -libdir `echo ./unix` -testlog ./__test.log notice: Running test case: ./tests/protected.test call-protected protected/call-protected.001: c1 SET x 1 ok protected/call-protected.002: c1 foo ok protected/call-protected.003: c1 bar-SET ok protected/call-protected.004: c1 bar-foo ok Warning: '::c1 SET' fails since method ::C.SET is protected protected/call-protected.005: c1 SET x 1 ok protected/call-protected.006: dispatch of protected methods works ok protected/call-protected.007: c1 foo ok protected/call-protected.008: c1 bar ok protected/call-protected.009: c1 bar-SET ok protected/call-protected.010: c1 bar-foo ok Warning: '::c1 SET' fails since method ::C.SET is protected protected/call-protected.011: c2 bar-SET ok protected/call-protected.012: c2 bar-foo ok Warning: '::c1 SET' fails since method ::C.SET is protected protected/call-protected.013: c1 SET x 1 ok protected/call-protected.014: dispatch of protected methods works ok protected/call-protected.015: other method work ok Warning: '::c1 foo' fails since method ::C.foo is protected protected/call-protected.016: c1 foo ok protected/call-protected.017: internal call of protected C implementend method ok protected/call-protected.018: internal call of protected Tcl implemented method ok Warning: '::c1 SET' fails since method ::C.SET is protected protected/call-protected.019: c2 bar-SET ok Warning: '::c1 foo' fails since method ::C.foo is protected protected/call-protected.020: c2 bar-foo ok protected/call-protected.021: ::nsf::method::property C SET call-protected ok protected/call-protected.022: ::nsf::method::property C SET call-protected ok protected/call-protected.023: ::nsf::method::property C foo call-protected ok protected/call-protected.024: ::nsf::method::property C foo call-protected ok protected/call-protected.025: c1 SET x 3 ok protected/call-protected.026: nx::dispatch c1 SET x 2 ok protected/call-protected.027: c1 foo ok protected/call-protected.028: c1 bar ok protected/call-protected.029: c1 bar-SET ok protected/call-protected.030: c1 bar-foo ok protected/call-protected.031: c2 bar-SET ok protected/call-protected.032: c2 bar-foo ok protected/call-protected.033: ::nsf::method::property C SET call-protected ok protected/call-protected.034: c1 SET x 3 ok protected/call-protected.035: nx::dispatch c1 SET x 4 ok Warning: '::c1 foo' fails since method ::C.foo is protected protected/call-protected.036: c1 foo ok protected/call-protected.037: c1 bar ok protected/call-protected.038: c1 bar-SET ok protected/call-protected.039: c1 bar-foo ok protected/call-protected.040: c2 bar-SET ok Warning: '::c1 foo' fails since method ::C.foo is protected protected/call-protected.041: c2 bar-foo ok notice: Running test case: ./tests/protected.test protected+filter protected/protected+filter.001: c1 foo ok protected/protected+filter.002: c1 foo ok protected/protected+filter.003: c1 foo ok notice: Running test case: ./tests/protected.test redefined-protected protected/redefined-protected.001: ::nsf::method::property C SET redefine-protected true ok protected/redefined-protected.002: ::nsf::method::property C foo redefine-protected true ok protected/redefined-protected.003: redefine method SET ok protected/redefined-protected.004: redefine method foo ok protected/redefined-protected.005: redefine method create ok protected/redefined-protected.006: redefine alias create ok protected/redefined-protected.007: redefine forward SET ok protected/redefined-protected.008: redefine property SET ok protected/redefined-protected.009: o object method foo {} {return 14} ok notice: Running test case: ./tests/protected.test private-helper protected/private-helper.001: b1 bar ok protected/private-helper.002: b1 baz ok protected/private-helper.003: c1 bar ok protected/private-helper.004: c1 baz ok protected/private-helper.005: b1 bar ok protected/private-helper.006: b1 baz ok protected/private-helper.007: c1 bar ok protected/private-helper.008: c1 baz ok protected/private-helper.009: b1 foo ok protected/private-helper.010: c1 foo ok notice: Running test case: ./tests/protected.test object-private-helper protected/object-private-helper.001: b1 bar ok protected/object-private-helper.002: b1 baz ok protected/object-private-helper.003: b1 foo ok protected/object-private-helper.004: c1 bar ok protected/object-private-helper.005: c1 baz ok protected/object-private-helper.006: c1 foo ok protected/object-private-helper.007: b1 bar ok protected/object-private-helper.008: b1 baz ok protected/object-private-helper.009: b1 foo ok protected/object-private-helper.010: c1 bar ok protected/object-private-helper.011: c1 baz ok protected/object-private-helper.012: c1 foo ok notice: Running test case: ./tests/protected.test local+filter protected/local+filter.001: d1 baz ok protected/local+filter.002: d1 foo ok protected/local+filter.003: d1 bar ok protected/local+filter.004: d1 baz ok protected/local+filter.005: d1 foo ok protected/local+filter.006: d1 bar ok protected/local+filter.007: d1 baz ok protected/local+filter.008: d1 foo ok protected/local+filter.009: d1 bar ok protected/local+filter.010: d1 baz ok protected/local+filter.011: d1 foo ok protected/local+filter.012: d1 bar ok notice: Running test case: ./tests/protected.test private protected/private.001: lsort [C info methods] ok protected/private.002: lsort [C info methods -callprotection all] ok protected/private.003: lsort [C info methods -callprotection public] ok protected/private.004: lsort [C info methods -callprotection protected] ok protected/private.005: lsort [C info methods -callprotection private] ok protected/private.006: c1 p1 ok protected/private.007: c1 p2 ok protected/private.008: c1 p3 ok protected/private.009: c1 p4 ok protected/private.010: d1 p1 ok protected/private.011: d1 p2 ok protected/private.012: d1 p3 ok protected/private.013: d1 p4 ok protected/private.014: c1 q1 ok protected/private.015: c1 q3 ok protected/private.016: c1 [C info method registrationhandle p1] ok protected/private.017: c1 [C info method registrationhandle p3] ok protected/private.018: nx::dispatch c1 [C info method registrationhandle p1] ok protected/private.019: nx::dispatch c1 [C info method registrationhandle p3] ok protected/private.020: nx::dispatch c1 p1 ok protected/private.021: nx::dispatch c1 p3 ok protected/private.022: nx::dispatch c1 -local p1 ok notice: Running test case: ./tests/protected.test class-my-local protected/class-my-local.001: s1 foo 3 4 ok protected/class-my-local.002: s1 bar 3 4 ok protected/class-my-local.003: s1 baz 3 4 ok notice: Running test case: ./tests/protected.test object-my-local Warning: '::o1 foo' fails since method ::o1.foo is protected protected/object-my-local.001: o1 foo ok protected/object-my-local.002: o1 bar ok protected/object-my-local.003: o1 foo2 ok protected/object-my-local.004: o1 foo ok protected/object-my-local.005: o1 bar ok protected/object-my-local.006: o1 foo2 ok notice: Running test case: ./tests/protected.test my+handle-instead-of-my-local protected/my+handle-instead-of-my-local.001: s1 foo 3 4 ok protected/my+handle-instead-of-my-local.002: s1 bar 3 4 ok notice: Running test case: ./tests/protected.test dispatch-instead-of-my-local protected/dispatch-instead-of-my-local.001: s1 foo 3 4 ok protected/dispatch-instead-of-my-local.002: s1 bar 3 4 ok notice: Running test case: ./tests/protected.test system-flag protected/system-flag.001: o1 info ok protected/system-flag.002: o1 ::nx::Object::slot::__info::vars ok protected/system-flag.003: o1 [nx::Object info method definitionhandle "info vars"] ok protected/system-flag.004: nx::dispatch o1 -system info vars ok protected/system-flag.005: o1 object method foo {} {return foo} ok protected/system-flag.006: nx::dispatch o1 -system public object method foo {} {return foo} ok protected/system-flag.007: o1 destroy ok protected/system-flag.008: nsf::object::exists o1 ok protected/system-flag.009: nx::dispatch o1 -system destroy ok protected/system-flag.010: nsf::object::exists o1 ok protected/system-flag.011: c1 info ok protected/system-flag.012: c1 ::nx::Object::slot::__info::vars ok protected/system-flag.013: c1 [nx::Object info method definitionhandle "info vars"] ok protected/system-flag.014: nx::dispatch c1 -system info vars ok protected/system-flag.015: c1 destroy ok protected/system-flag.016: nsf::object::exists c1 ok protected/system-flag.017: nx::dispatch c1 -system destroy ok protected/system-flag.018: nsf::object::exists c1 ok notice: Running test case: ./tests/protected.test class-my-local+next protected/class-my-local+next.001: b1 foo 4 5 ok protected/class-my-local+next.002: b1 baz 4 5 ok protected/class-my-local+next.003: b1 foo 4 5 ok protected/class-my-local+next.004: b1 baz 4 5 ok protected/class-my-local+next.005: i1 foo 4 5 ok protected/class-my-local+next.006: i1 baz 4 5 ok protected/class-my-local+next.007: i1 foo2 4 5 ok protected/class-my-local+next.008: s1 foo 4 5 ok protected/class-my-local+next.009: s1 baz 4 5 ok protected/class-my-local+next.010: s1 foo2 4 5 ok protected/class-my-local+next.011: s1 bar 4 5 ok protected/class-my-local+next.012: s1 foo 4 5 ok protected/class-my-local+next.013: s1 baz 4 5 ok protected/class-my-local+next.014: s1 foo2 4 5 ok protected/class-my-local+next.015: s1 bar 4 5 ok notice: Running test case: ./tests/protected.test call-protected-flags protected/call-protected-flags.001: ::nsf::method::property C foo call-protected ok protected/call-protected-flags.002: ::nsf::method::property C foo call-private ok protected/call-protected-flags.003: C info method definition foo ok protected/call-protected-flags.004: ::nsf::method::property C foo call-protected ok protected/call-protected-flags.005: ::nsf::method::property C foo call-private ok protected/call-protected-flags.006: C info method definition foo ok protected/call-protected-flags.007: ::nsf::method::property C foo call-protected ok protected/call-protected-flags.008: ::nsf::method::property C foo call-private ok protected/call-protected-flags.009: C info method definition foo ok protected/call-protected-flags.010: ::nsf::method::property C foo call-private false ok protected/call-protected-flags.011: ::nsf::method::property C foo call-protected ok protected/call-protected-flags.012: ::nsf::method::property C foo call-private ok protected/call-protected-flags.013: ::nsf::method::property C foo call-private true ok protected/call-protected-flags.014: ::nsf::method::property C foo call-protected ok protected/call-protected-flags.015: ::nsf::method::property C foo call-private ok protected/call-protected-flags.016: ::nsf::method::property C foo call-protected false ok protected/call-protected-flags.017: ::nsf::method::property C foo call-protected ok protected/call-protected-flags.018: ::nsf::method::property C foo call-private ok notice: Running test case: ./tests/protected.test private-subobject protected/private-subobject.001: obj child bar ok protected/private-subobject.002: obj foo ok protected/private-subobject.003: obj info object methods ok protected/private-subobject.004: ::nsf::method::property obj foo call-private 1 ok protected/private-subobject.005: obj child bar ok protected/private-subobject.006: obj foo ok protected/private-subobject.007: obj info object methods ok protected/private-subobject.008: ::nsf::method::property obj child call-private 1 ok protected/private-subobject.009: obj child bar ok protected/private-subobject.010: obj foo ok protected/private-subobject.011: obj info object methods ok protected/private-subobject.012: ::nsf::method::property obj foo call-protected 0 ok protected/private-subobject.013: obj child bar ok protected/private-subobject.014: obj foo ok protected/private-subobject.015: obj info object methods ok protected/private-subobject.016: ::nsf::method::property obj child call-protected 0 ok protected/private-subobject.017: obj child bar ok protected/private-subobject.018: obj foo ok protected/private-subobject.019: obj info object methods ok notice: Running test case: ./tests/protected.test protected-priv-class-property protected/protected-priv-class-property.001: c1 a get ok Warning: '::c1 b' fails since method ::C.b is protected protected/protected-priv-class-property.002: c1 b get ok protected/protected-priv-class-property.003: c1 c get ok protected/protected-priv-class-property.004: c1 foo a ok protected/protected-priv-class-property.005: c1 foo b ok protected/protected-priv-class-property.006: c1 foo c ok protected/protected-priv-class-property.007: c1 bar a ok protected/protected-priv-class-property.008: c1 bar b ok protected/protected-priv-class-property.009: c1 bar c ok protected/protected-priv-class-property.010: lsort [c1 info vars] ok protected/protected-priv-class-property.011: c1 eval {lsort [array names :__private]} ok protected/protected-priv-class-property.012: c1 bar d ok protected/protected-priv-class-property.013: c1 baz d 2 ok protected/protected-priv-class-property.014: c1 bar d ok protected/protected-priv-class-property.015: c1 baz d x ok protected/protected-priv-class-property.016: d1 bar c ok protected/protected-priv-class-property.017: d1 bard c ok protected/protected-priv-class-property.018: d1 c get ok protected/protected-priv-class-property.019: d1 bar c ok protected/protected-priv-class-property.020: d1 bard c ok protected/protected-priv-class-property.021: d1 bard1 c ok protected/protected-priv-class-property.022: d1 c get ok notice: Running test case: ./tests/protected.test private-shadows-public-property protected/private-shadows-public-property.001: e1 x get ok protected/private-shadows-public-property.002: e1 bar-d x ok protected/private-shadows-public-property.003: e1 bar-e x ok notice: Running test case: ./tests/protected.test protected-priv-object-property protected/protected-priv-object-property.001: o a get ok Warning: '::o b' fails since method ::o.b is protected protected/protected-priv-object-property.002: o b get ok protected/protected-priv-object-property.003: o c get ok protected/protected-priv-object-property.004: o foo a ok protected/protected-priv-object-property.005: o foo b ok protected/protected-priv-object-property.006: o foo c ok protected/protected-priv-object-property.007: o bar a ok protected/protected-priv-object-property.008: o bar b ok protected/protected-priv-object-property.009: o bar c ok protected/protected-priv-object-property.010: lsort [o info vars] ok protected/protected-priv-object-property.011: o eval {lsort [array names :__private]} ok protected/protected-priv-object-property.012: o bar d ok protected/protected-priv-object-property.013: o baz d 2 ok protected/protected-priv-object-property.014: o bar d ok protected/protected-priv-object-property.015: o baz d x ok notice: Running test case: ./tests/protected.test protected-priv-class-object-property protected/protected-priv-class-object-property.001: C a get ok Warning: '::C b' fails since method ::C.b is protected protected/protected-priv-class-object-property.002: C b get ok protected/protected-priv-class-object-property.003: C c get ok protected/protected-priv-class-object-property.004: C foo a ok protected/protected-priv-class-object-property.005: C foo b ok protected/protected-priv-class-object-property.006: C foo c ok protected/protected-priv-class-object-property.007: C bar a ok protected/protected-priv-class-object-property.008: C bar b ok protected/protected-priv-class-object-property.009: C bar c ok protected/protected-priv-class-object-property.010: lsort [C info vars] ok protected/protected-priv-class-object-property.011: C eval {lsort [array names :__private]} ok protected/protected-priv-class-object-property.012: C bar d ok protected/protected-priv-class-object-property.013: C baz d 2 ok protected/protected-priv-class-object-property.014: C bar d ok protected/protected-priv-class-object-property.015: C baz d x ok protected/protected-priv-class-object-property.016: C public object property {d:integer 1} ok protected/protected-priv-class-object-property.017: C protected object property {d:integer 1} ok protected/protected-priv-class-object-property.018: C private object property {d:integer 1} ok notice: Running test case: ./tests/protected.test protected-ensembles protected/protected-ensembles.001: set _ protected ok protected/protected-ensembles.002: set _ protected ok protected/protected-ensembles.003: set _ protected ok protected/protected-ensembles.004: set _ protected ok protected/protected-ensembles.005: set _ protected ok Warning: '::nsf::__#0 foo2 faa' fails since method ::nsf::__#0.foo2 faa is protected protected/protected-ensembles.006: $::o foo2 faa fee ok protected/protected-ensembles.007: set _ protected ok protected/protected-ensembles.008: set _ protected ok protected/protected-ensembles.009: set _ protected ok protected/protected-ensembles.010: set _ protected ok protected/protected-ensembles.011: set _ protected ok Warning: '::nsf::__#2 foo2 faa' fails since method ::nsf::__#1.foo2 faa is protected protected/protected-ensembles.012: ::nsf::__#2 foo2 faa ok protected/protected-ensembles.013: set _ protected ok protected/protected-ensembles.014: set _ protected ok protected/protected-ensembles.015: set _ protected ok Warning: '::nsf::__#2 foo2 faa' fails since method ::nsf::__#1.foo2 faa is protected protected/protected-ensembles.016: ::nsf::__#2 foo2 faa ok protected/protected-ensembles.017: set _ protected ok protected/protected-ensembles.018: set _ protected ok protected/protected-ensembles.019: set _ protected ok protected/protected-ensembles.020: set _ protected ok protected/protected-ensembles.021: set _ protected ok Warning: '::nsf::__#4 foo2 faa fee' fails since method ::nsf::__#4.foo2 faa fee is protected protected/protected-ensembles.022: $::o foo2 faa fee ok protected/protected-ensembles.023: set _ protected ok protected/protected-ensembles.024: set _ protected ok protected/protected-ensembles.025: set _ protected ok protected/protected-ensembles.026: set _ protected ok protected/protected-ensembles.027: set _ protected ok Warning: '::nsf::__#6 foo2 faa fim' fails since method ::nsf::__#5.foo2 faa fim is protected protected/protected-ensembles.028: ::nsf::__#6 foo2 faa fim ok protected/protected-ensembles.029: set _ protected ok protected/protected-ensembles.030: set _ protected ok protected/protected-ensembles.031: set _ protected ok Warning: '::nsf::__#6 foo2 faa fim' fails since method ::nsf::__#5.foo2 faa fim is protected protected/protected-ensembles.032: ::nsf::__#6 foo2 faa fim ok Summary: Test-set protected tests 282 success 282 failure 0 ms 7 TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./tests`/forward.test -libdir `echo ./unix` -testlog ./__test.log notice: Running test case: ./tests/forward.test delegation forward/delegation.001: dog wag 100 ok forward/delegation.002: dog nxwag 100 ok notice: Running test case: ./tests/forward.test inscope forward/inscope.001: x1 cget -x ok notice: Running test case: ./tests/forward.test adding forward/adding.001: obj addOne 5 ok notice: Running test case: ./tests/forward.test multiple-args forward/multiple-args.001: obj foo x1 x2 ok forward/multiple-args.002: obj foo x1 x2 ok notice: Running test case: ./tests/forward.test mixin-via-forward forward/mixin-via-forward.001: obj Mixin add M1 ok forward/mixin-via-forward.002: catch {obj Mixin} ok forward/mixin-via-forward.003: obj Mixin add M1 ok forward/mixin-via-forward.004: obj Mixin M1 ok forward/mixin-via-forward.005: obj Mixin ok notice: Running test case: ./tests/forward.test info-via-forward forward/info-via-forward.001: x1 Info class ok forward/info-via-forward.002: x1 Info help ok notice: Running test case: ./tests/forward.test incr forward/incr.001: obj i1 ok notice: Running test case: ./tests/forward.test introspection forward/introspection.001: C info methods -type forwarder ok forward/introspection.002: lsort [C info methods -type forwarder] ok forward/introspection.003: C info methods -type forwarder X* ok forward/introspection.004: lsort [C info methods -type forwarder *o] ok forward/introspection.005: C info methods -type forwarder ok forward/introspection.006: C info method definition Info ok forward/introspection.007: lsort [obj info object methods -type forwarder] ok forward/introspection.008: obj info object method definition Mixin ok forward/introspection.009: obj info object method definition addOne ok forward/introspection.010: obj info object method definition foo ok forward/introspection.011: obj info object method definition i1 ok notice: Running test case: ./tests/forward.test serializer forward/serializer.001: set ::a ok notice: Running test case: ./tests/forward.test optional-target forward/optional-target.001: obj append x y z ok forward/optional-target.002: o x current ok notice: Running test case: ./tests/forward.test percent-cmd forward/percent-cmd.001: obj x* 10 ok notice: Running test case: ./tests/forward.test positioning-args forward/positioning-args.001: obj @end-13 1 2 3 ok forward/positioning-args.002: obj @-1-13 1 2 3 ok forward/positioning-args.003: obj @1-13 1 2 3 ok forward/positioning-args.004: obj @1-13 ok forward/positioning-args.005: obj @2-13 1 2 3 ok forward/positioning-args.006: obj @list ok forward/positioning-args.007: obj @list a b c ok forward/positioning-args.008: obj @list ok forward/positioning-args.009: obj @list a b c ok forward/positioning-args.010: obj @list ok forward/positioning-args.011: obj @list a b c ok forward/positioning-args.012: obj @list ok forward/positioning-args.013: obj @list a b c ok forward/positioning-args.014: obj @list ok forward/positioning-args.015: obj @list a b c ok forward/positioning-args.016: obj @end-13 1 2 3 ok forward/positioning-args.017: obj @end-13 1 2 3 ok forward/positioning-args.018: obj @end-13 1 2 3 ok forward/positioning-args.019: obj @end-13 1 2 3 ok forward/positioning-args.020: obj @end-13 1 2 3 ok notice: Running test case: ./tests/forward.test forwarder-basics forward/forwarder-basics.001: obj info object methods foo ok forward/forwarder-basics.002: obj info object methods foo ok forward/forwarder-basics.003: invalid target command ok forward/forwarder-basics.004: obj foo X ok forward/forwarder-basics.005: namespace eval ::ns1 { ::obj foo } ok forward/forwarder-basics.006: obj public object forward x1 -methodprefix @ -verbose %self X ok forward/forwarder-basics.007: obj public object forward x2 -prefix @ -verbose %self X ok forward/forwarder-basics.008: obj x2 a b c ok forward/forwarder-basics.009: obj foo ok forward/forwarder-basics.010: obj foo _ ok forward/forwarder-basics.011: obj foo _ _ ok forward/forwarder-basics.012: obj foo _ _ _ _ ok forward/forwarder-basics.013: obj foo ok forward/forwarder-basics.014: obj foo ok forward/forwarder-basics.015: obj foo X ok forward/forwarder-basics.016: obj foo X ok forward/forwarder-basics.017: obj foo X ok forward/forwarder-basics.018: obj foo X Y ok forward/forwarder-basics.019: obj foo ok forward/forwarder-basics.020: obj foo X ok forward/forwarder-basics.021: obj foo X ok forward/forwarder-basics.022: obj FOO ok forward/forwarder-basics.023: prefix, 2nd arg is method argument ok forward/forwarder-basics.024: prefix, 2nd arg is forwarder argument ok forward/forwarder-basics.025: prefix, 2nd arg is forwarder argument provided through %1 ok notice: Running test case: ./tests/forward.test positioning-arg-extended forward/positioning-arg-extended.001: obj foo 1 2 3 ok forward/positioning-arg-extended.002: obj foo 1 2 3 ok forward/positioning-arg-extended.003: obj foo 1 2 3 ok forward/positioning-arg-extended.004: stack overflow ok forward/positioning-arg-extended.005: obj foo 1 2 3 ok forward/positioning-arg-extended.006: simple cmd substitution by position ok forward/positioning-arg-extended.007: obj foo 1 2 3 ok forward/positioning-arg-extended.008: obj foo 1 2 3 ok forward/positioning-arg-extended.009: provided wrong arguments for target command ok forward/positioning-arg-extended.010: fully qualified self ok forward/positioning-arg-extended.011: forward to non-existing object ok forward/positioning-arg-extended.012: forward to non-existing cmd ok notice: Running test case: ./tests/forward.test num-args forward/num-args.001: obj f ok forward/num-args.002: obj f 1 ok forward/num-args.003: obj f 1 2 ok forward/num-args.004: catch {obj f 1 2 3} ok notice: Running test case: ./tests/forward.test earlybinding forward/earlybinding.001: obj s 100 ok forward/earlybinding.002: obj s ok forward/earlybinding.003: namespace eval :: {nx::Object create toplevelObj1} ok forward/earlybinding.004: set _ ::NS ok forward/earlybinding.005: set _ ::NS::m1 ok forward/earlybinding.006: set _ ::NS::m2 ok forward/earlybinding.007: set _ ::test::m3 ok forward/earlybinding.008: set _ ::test::m4 ok forward/earlybinding.009: set _ ::NS::test::m5 ok forward/earlybinding.010: set _ ::NS::test::m6 ok forward/earlybinding.011: namespace eval :: {nx::Object create toplevelObj2} ok forward/earlybinding.012: set _ ::NS ok forward/earlybinding.013: set _ ::NS::i1 ok forward/earlybinding.014: set _ ::NS::i2 ok forward/earlybinding.015: set _ ::test::i3 ok forward/earlybinding.016: set _ ::test::i4 ok forward/earlybinding.017: set _ ::NS::test::i5 ok forward/earlybinding.018: set _ ::NS::test::i6 ok forward/earlybinding.019: set _ ::n1 ok forward/earlybinding.020: set _ ::n2 ok forward/earlybinding.021: set _ ::test::n1 ok forward/earlybinding.022: set _ ::test::n3 ok forward/earlybinding.023: set _ ::test::n4 ok notice: Running test case: ./tests/forward.test callstack forward/callstack.001: c1 expr {[current]} ok forward/callstack.002: c1 expr {[current] eq "::c1"} ok forward/callstack.003: c1 expr {[:xx]} ok forward/callstack.004: c1 expr {[:info class]} ok forward/callstack.005: c1 expr {[:info has type C]} ok forward/callstack.006: c1 expr {[:info has type ::C]} ok forward/callstack.007: C t ::c1 {[current]} ok forward/callstack.008: C t ::c1 {[current] eq "::c1"} ok forward/callstack.009: C t ::c1 {[:xx]} ok forward/callstack.010: C t ::c1 {[:info class]} ok forward/callstack.011: C t ::c1 {[:info has type C]} ok forward/callstack.012: C t ::c1 {[:info has type ::C]} ok Summary: Test-set forward tests 125 success 125 failure 0 ms 1 TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./tests`/mixinof.test -libdir `echo ./unix` -testlog ./__test.log notice: Running test case: ./tests/mixinof.test simple-pom mixinof/simple-pom.001: 1.55 mms, o object mixins get mixinof/simple-pom.002: 1.08 mms, o info object mixins mixinof/simple-pom.003: 0.96 mms, A info mixinof mixinof/simple-pom.004: 0.88 mms, A info mixinof notice: Running test case: ./tests/mixinof.test transitive-pom mixinof/transitive-pom.001: 0.96 mms, C info mixinof mixinof/transitive-pom.002: 1.55 mms, lsort [B info mixinof -closure] mixinof/transitive-pom.003: 1.67 mms, lsort [B info mixinof -closure ::o1] mixinof/transitive-pom.004: 1.70 mms, lsort [B info mixinof -closure ::o*] mixinof/transitive-pom.005: 1.51 mms, lsort [C info mixinof -closure ::o*] mixinof/transitive-pom.006: 2.05 mms, lsort [M info mixinof -closure ::o*] mixinof/transitive-pom.007: 1.02 mms, lsort [M info mixinof -scope object] notice: Running test case: ./tests/mixinof.test recreate-mixin-class mixinof/recreate-mixin-class.001: 1.06 mms, o info object mixins mixinof/recreate-mixin-class.002: 1.09 mms, o info precedence mixinof/recreate-mixin-class.003: 1.26 mms, o info lookup method foo mixinof/recreate-mixin-class.004: 1.08 mms, o info object mixins mixinof/recreate-mixin-class.005: 1.09 mms, o info precedence mixinof/recreate-mixin-class.006: 1.28 mms, o info lookup method foo mixinof/recreate-mixin-class.007: 0.95 mms, o info object mixins mixinof/recreate-mixin-class.008: 0.99 mms, o info precedence mixinof/recreate-mixin-class.009: 0.96 mms, o info lookup method foo notice: Running test case: ./tests/mixinof.test pcm mixinof/pcm.001: 1.37 mms, B mixins get mixinof/pcm.002: 0.99 mms, B info mixins mixinof/pcm.003: 0.96 mms, A info mixinof mixinof/pcm.004: 1.18 mms, c1 info precedence mixinof/pcm.005: 0.88 mms, A info mixinof mixinof/pcm.006: 1.04 mms, c1 info precedence notice: Running test case: ./tests/mixinof.test pcm2 mixinof/pcm2.001: 1.02 mms, A info mixins M2 mixinof/pcm2.002: 1.36 mms, A info mixins M* mixinof/pcm2.003: 1.17 mms, A info mixins -guards mixinof/pcm2.004: 0.89 mms, B info mixins mixinof/pcm2.005: 1.21 mms, B info mixins -closure mixinof/pcm2.006: 1.19 mms, B info mixins -closure M2 mixinof/pcm2.007: 1.61 mms, B info mixins -closure M* mixinof/pcm2.008: 1.41 mms, B info mixins -closure -guards mixinof/pcm2.009: 1.34 mms, B info mixins -closure -guards M1 mixinof/pcm2.010: 1.82 mms, B info mixins -closure -guards M* notice: Running test case: ./tests/mixinof.test trans-pcm1 mixinof/trans-pcm1.001: 1.41 mms, B mixins get mixinof/trans-pcm1.002: 0.97 mms, B info mixins mixinof/trans-pcm1.003: 0.97 mms, A info mixinof -scope class mixinof/trans-pcm1.004: 1.11 mms, a1 info precedence mixinof/trans-pcm1.005: 1.16 mms, b1 info precedence mixinof/trans-pcm1.006: 1.25 mms, c1 info precedence mixinof/trans-pcm1.007: 0.96 mms, M info mixinof -scope class mixinof/trans-pcm1.008: 1.49 mms, M info mixinof -scope class -closure mixinof/trans-pcm1.009: 0.96 mms, A info mixinof -scope class mixinof/trans-pcm1.010: 1.32 mms, A info mixinof -scope class -closure mixinof/trans-pcm1.011: 0.91 mms, B info mixinof -scope class mixinof/trans-pcm1.012: 1.05 mms, B info mixinof -scope class -closure mixinof/trans-pcm1.013: 1.03 mms, a1 info precedence mixinof/trans-pcm1.014: 1.10 mms, b1 info precedence mixinof/trans-pcm1.015: 1.15 mms, c1 info precedence mixinof/trans-pcm1.016: 0.97 mms, A info mixinof -scope class mixinof/trans-pcm1.017: 1.03 mms, c1 info precedence notice: Running test case: ./tests/mixinof.test trans-pcm2 mixinof/trans-pcm2.001: 1.08 mms, A info heritage mixinof/trans-pcm2.002: 1.07 mms, B info heritage mixinof/trans-pcm2.003: 1.33 mms, C info mixinof -scope class -closure mixinof/trans-pcm2.004: 1.37 mms, D info mixinof -scope class -closure mixinof/trans-pcm2.005: 1.02 mms, A info mixinof -scope class -closure mixinof/trans-pcm2.006: 0.99 mms, B info mixinof -scope class -closure mixinof/trans-pcm2.007: 0.97 mms, X info mixinof -scope class -closure mixinof/trans-pcm2.008: 1.33 mms, C info mixinof -scope class -closure mixinof/trans-pcm2.009: 1.36 mms, D info mixinof -scope class -closure mixinof/trans-pcm2.010: 1.02 mms, A info mixinof -scope class -closure mixinof/trans-pcm2.011: 0.99 mms, B info mixinof -scope class -closure mixinof/trans-pcm2.012: 1.65 mms, X info mixinof -scope class -closure mixinof/trans-pcm2.013: 1.29 mms, b1 info precedence mixinof/trans-pcm2.014: 1.29 mms, b2 info precedence notice: Running test case: ./tests/mixinof.test trans-pcm3 mixinof/trans-pcm3.001: 1.05 mms, A1 info mixinof -scope class -closure mixinof/trans-pcm3.002: 1.05 mms, A2 info mixinof -scope class -closure mixinof/trans-pcm3.003: 0.98 mms, A3 info mixinof -scope class -closure mixinof/trans-pcm3.004: 0.93 mms, A1 info heritage mixinof/trans-pcm3.005: 1.39 mms, A2 info heritage mixinof/trans-pcm3.006: 1.40 mms, A3 info heritage mixinof/trans-pcm3.007: 1.43 mms, B0 info mixinof -scope class -closure mixinof/trans-pcm3.008: 1.40 mms, B1 info mixinof -scope class -closure mixinof/trans-pcm3.009: 1.37 mms, B2 info mixinof -scope class -closure mixinof/trans-pcm3.010: 0.97 mms, B3 info mixinof -scope class -closure mixinof/trans-pcm3.011: 2.00 mms, C1 info mixinof -scope class -closure mixinof/trans-pcm3.012: 1.93 mms, C2 info mixinof -scope class -closure mixinof/trans-pcm3.013: 0.99 mms, C3 info mixinof -scope class -closure notice: Running test case: ./tests/mixinof.test pcm-trans-destroy-A mixinof/pcm-trans-destroy-A.001: 1.33 mms, B mixins get mixinof/pcm-trans-destroy-A.002: 0.96 mms, B info mixins mixinof/pcm-trans-destroy-A.003: 0.96 mms, A info mixinof -scope class mixinof/pcm-trans-destroy-A.004: 1.11 mms, a1 info precedence mixinof/pcm-trans-destroy-A.005: 1.16 mms, b1 info precedence mixinof/pcm-trans-destroy-A.006: 1.26 mms, c1 info precedence mixinof/pcm-trans-destroy-A.007: 0.97 mms, a1 info precedence mixinof/pcm-trans-destroy-A.008: 1.04 mms, b1 info precedence mixinof/pcm-trans-destroy-A.009: 1.19 mms, c1 info precedence mixinof/pcm-trans-destroy-A.010: 0.88 mms, M info mixinof mixinof/pcm-trans-destroy-A.011: 0.95 mms, M info mixinof -closure mixinof/pcm-trans-destroy-A.012: 0.93 mms, M info mixinof -scope class mixinof/pcm-trans-destroy-A.013: 1.04 mms, c1 info precedence notice: Running test case: ./tests/mixinof.test pcm-trans-destroy-B mixinof/pcm-trans-destroy-B.001: 1.33 mms, B mixins get mixinof/pcm-trans-destroy-B.002: 0.97 mms, B info mixins mixinof/pcm-trans-destroy-B.003: 1.01 mms, A info mixinof -scope class mixinof/pcm-trans-destroy-B.004: 1.11 mms, a1 info precedence mixinof/pcm-trans-destroy-B.005: 1.18 mms, b1 info precedence mixinof/pcm-trans-destroy-B.006: 1.25 mms, c1 info precedence mixinof/pcm-trans-destroy-B.007: 1.11 mms, a1 info precedence mixinof/pcm-trans-destroy-B.008: 0.97 mms, b1 info precedence mixinof/pcm-trans-destroy-B.009: 1.01 mms, c1 info precedence mixinof/pcm-trans-destroy-B.010: 0.97 mms, M info mixinof -scope class mixinof/pcm-trans-destroy-B.011: 1.17 mms, M info mixinof -scope class -closure mixinof/pcm-trans-destroy-B.012: 0.92 mms, A info mixinof -scope class notice: Running test case: ./tests/mixinof.test pcm-redefine mixinof/pcm-redefine.001: 1.33 mms, B mixins get mixinof/pcm-redefine.002: 1.01 mms, B info mixins mixinof/pcm-redefine.003: 0.96 mms, A info mixinof -scope class mixinof/pcm-redefine.004: 1.16 mms, c1 info precedence mixinof/pcm-redefine.005: 0.97 mms, B info superclasses -closure mixinof/pcm-redefine.006: 0.97 mms, C info superclasses -closure mixinof/pcm-redefine.007: 1.03 mms, B info heritage mixinof/pcm-redefine.008: 1.03 mms, C info heritage mixinof/pcm-redefine.009: 0.95 mms, B info superclasses -closure mixinof/pcm-redefine.010: 0.94 mms, C info superclasses -closure mixinof/pcm-redefine.011: 1.02 mms, B info heritage mixinof/pcm-redefine.012: 0.92 mms, C info heritage mixinof/pcm-redefine.013: 1.32 mms, B mixins get mixinof/pcm-redefine.014: 0.96 mms, B info mixins mixinof/pcm-redefine.015: 0.95 mms, A info mixinof mixinof/pcm-redefine.016: 1.03 mms, c1 info precedence mixinof/pcm-redefine.017: 0.88 mms, A info mixinof mixinof/pcm-redefine.018: 1.02 mms, c1 info precedence notice: Running test case: ./tests/mixinof.test pcm-redefine-soft mixinof/pcm-redefine-soft.001: 1.33 mms, B mixins get mixinof/pcm-redefine-soft.002: 0.97 mms, B info mixins mixinof/pcm-redefine-soft.003: 0.97 mms, A info mixinof -scope class mixinof/pcm-redefine-soft.004: 1.13 mms, c1 info precedence mixinof/pcm-redefine-soft.005: 0.93 mms, B info superclasses -closure mixinof/pcm-redefine-soft.006: 1.06 mms, C info superclasses -closure mixinof/pcm-redefine-soft.007: 1.00 mms, B info heritage mixinof/pcm-redefine-soft.008: 1.02 mms, C info heritage mixinof/pcm-redefine-soft.009: 0.96 mms, B info superclasses -closure mixinof/pcm-redefine-soft.010: 0.97 mms, C info superclasses -closure mixinof/pcm-redefine-soft.011: 1.02 mms, B info heritage mixinof/pcm-redefine-soft.012: 1.02 mms, C info heritage mixinof/pcm-redefine-soft.013: 0.97 mms, B info mixins mixinof/pcm-redefine-soft.014: 0.97 mms, A info mixinof -scope class mixinof/pcm-redefine-soft.015: 1.14 mms, c1 info precedence mixinof/pcm-redefine-soft.016: 0.91 mms, A info mixinof -scope class mixinof/pcm-redefine-soft.017: 1.01 mms, c1 info precedence notice: Running test case: ./tests/mixinof.test precedence mixinof/precedence.001: 0.96 mms, A info superclasses mixinof/precedence.002: 0.96 mms, B info heritage mixinof/precedence.003: 1.57 mms, list [A info subclasses] [B info subclasses] [O info subclasses] mixinof/precedence.004: 1.67 mms, list [A info superclasses] [B info superclasses] [O info superclasses] mixinof/precedence.005: 1.46 mms, list [a1 info class] [b1 info class] [o1 info class] mixinof/precedence.006: 1.02 mms, o1 info precedence mixinof/precedence.007: 1.05 mms, a1 info precedence mixinof/precedence.008: 1.06 mms, b1 info precedence mixinof/precedence.009: 0.96 mms, A info superclasses mixinof/precedence.010: 0.93 mms, B info heritage mixinof/precedence.011: 1.55 mms, list [A info subclasses] [B info subclasses] [O info subclasses] mixinof/precedence.012: 1.66 mms, list [A info superclasses] [B info superclasses] [O info superclasses] mixinof/precedence.013: 1.43 mms, list [a1 info class] [b1 info class] [o1 info class] mixinof/precedence.014: 1.02 mms, o1 info precedence mixinof/precedence.015: 0.97 mms, a1 info precedence mixinof/precedence.016: 1.02 mms, b1 info precedence notice: Running test case: ./tests/mixinof.test alternate-precedence mixinof/alternate-precedence.001: 0.94 mms, A info superclasses mixinof/alternate-precedence.002: 0.95 mms, B info heritage mixinof/alternate-precedence.003: 1.61 mms, list [A info subclasses] [B info subclasses] [O info subclasses] mixinof/alternate-precedence.004: 1.72 mms, list [A info superclasses] [B info superclasses] [O info superclasses] mixinof/alternate-precedence.005: 1.45 mms, list [a1 info class] [b1 info class] [o1 info class] mixinof/alternate-precedence.006: 1.03 mms, o1 info precedence mixinof/alternate-precedence.007: 1.07 mms, a1 info precedence mixinof/alternate-precedence.008: 1.08 mms, b1 info precedence mixinof/alternate-precedence.009: 0.97 mms, A info superclasses mixinof/alternate-precedence.010: 0.94 mms, B info heritage mixinof/alternate-precedence.011: 1.45 mms, list [A info subclasses] [B info subclasses] [O info subclasses] mixinof/alternate-precedence.012: 1.70 mms, list [A info superclasses] [B info superclasses] [O info superclasses] mixinof/alternate-precedence.013: 1.38 mms, list [a1 info class] [b1 info class] [o1 info class] mixinof/alternate-precedence.014: 1.03 mms, o1 info precedence mixinof/alternate-precedence.015: 0.97 mms, a1 info precedence mixinof/alternate-precedence.016: 1.02 mms, b1 info precedence notice: Running test case: ./tests/mixinof.test recreate-precedence mixinof/recreate-precedence.001: 0.98 mms, A info superclasses mixinof/recreate-precedence.002: 0.99 mms, B info heritage mixinof/recreate-precedence.003: 1.62 mms, list [A info subclasses] [B info subclasses] [O info subclasses] mixinof/recreate-precedence.004: 1.72 mms, list [A info superclasses] [B info superclasses] [O info superclasses] mixinof/recreate-precedence.005: 1.46 mms, list [a1 info class] [b1 info class] [o1 info class] mixinof/recreate-precedence.006: 1.05 mms, o1 info precedence mixinof/recreate-precedence.007: 1.06 mms, a1 info precedence mixinof/recreate-precedence.008: 1.08 mms, b1 info precedence mixinof/recreate-precedence.009: 0.96 mms, A info superclasses mixinof/recreate-precedence.010: 0.97 mms, B info heritage mixinof/recreate-precedence.011: 1.60 mms, list [A info subclasses] [B info subclasses] [O info subclasses] mixinof/recreate-precedence.012: 1.70 mms, list [A info superclasses] [B info superclasses] [O info superclasses] mixinof/recreate-precedence.013: 1.46 mms, list [a1 info class] [b1 info class] [o1 info class] mixinof/recreate-precedence.014: 1.04 mms, o1 info precedence mixinof/recreate-precedence.015: 1.05 mms, a1 info precedence mixinof/recreate-precedence.016: 1.07 mms, b1 info precedence notice: Running test case: ./tests/mixinof.test recreate-alternate-precedence mixinof/recreate-alternate-precedence.001: 0.98 mms, B info heritage mixinof/recreate-alternate-precedence.002: 1.59 mms, list [A info subclasses] [B info subclasses] [O info subclasses] mixinof/recreate-alternate-precedence.003: 1.69 mms, list [A info superclasses] [B info superclasses] [O info superclasses] mixinof/recreate-alternate-precedence.004: 1.45 mms, list [a1 info class] [b1 info class] [o1 info class] mixinof/recreate-alternate-precedence.005: 1.05 mms, o1 info precedence mixinof/recreate-alternate-precedence.006: 1.06 mms, a1 info precedence mixinof/recreate-alternate-precedence.007: 1.09 mms, b1 info precedence mixinof/recreate-alternate-precedence.008: 0.96 mms, A info superclasses mixinof/recreate-alternate-precedence.009: 0.97 mms, B info heritage mixinof/recreate-alternate-precedence.010: 0.98 mms, B info heritage mixinof/recreate-alternate-precedence.011: 1.54 mms, list [A info subclasses] [B info subclasses] [O info subclasses] mixinof/recreate-alternate-precedence.012: 1.68 mms, list [A info superclasses] [B info superclasses] [O info superclasses] mixinof/recreate-alternate-precedence.013: 1.42 mms, list [a1 info class] [b1 info class] [o1 info class] mixinof/recreate-alternate-precedence.014: 1.03 mms, o1 info precedence mixinof/recreate-alternate-precedence.015: 1.03 mms, a1 info precedence mixinof/recreate-alternate-precedence.016: 1.06 mms, b1 info precedence notice: Running test case: ./tests/mixinof.test nx-mixinof mixinof/nx-mixinof.001: 1.47 mms, c1 object mixins get mixinof/nx-mixinof.002: 1.06 mms, c1 info object mixins mixinof/nx-mixinof.003: 1.31 mms, lsort [A info mixinof] mixinof/nx-mixinof.004: 0.90 mms, M info mixinof mixinof/nx-mixinof.005: 0.94 mms, M info mixinof -scope object mixinof/nx-mixinof.006: 1.03 mms, M info mixinof -scope class mixinof/nx-mixinof.007: 0.98 mms, M info mixinof -scope all mixinof/nx-mixinof.008: 0.98 mms, M info mixinof mixinof/nx-mixinof.009: 1.31 mms, lsort [A info mixinof] mixinof/nx-mixinof.010: 1.00 mms, A info mixinof -scope object mixinof/nx-mixinof.011: 0.97 mms, A info mixinof -scope class mixinof/nx-mixinof.012: 0.96 mms, A info mixinof mixinof/nx-mixinof.013: 0.95 mms, M info mixinof mixinof/nx-mixinof.014: 0.90 mms, M info mixinof Summary: Test-set mixinof tests 218 success 218 failure 0 ms 25 TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./tests`/tcl86.test -libdir `echo ./unix` -testlog ./__test.log notice: Running test case: ./tests/tcl86.test number-generator tcl86/number-generator.001: set ::j ok notice: Running test case: ./tests/tcl86.test enumerator1 tcl86/enumerator1.001: f1 sum ok notice: Running test case: ./tests/tcl86.test enumerator2 tcl86/enumerator2.001: f1 sum ok tcl86/enumerator2.002: f1 concat ok tcl86/enumerator2.003: a1 concat ok notice: Running test case: ./tests/tcl86.test apply tcl86/apply.001: o map {x {return [string length $x]:$x}} {a bb ccc dddd} ok tcl86/apply.002: o map {x {expr {$x**2 + 3*$x - 2}}} {-4 -3 -2 -1 0 1 2 3 4} ok tcl86/apply.003: o map {x {expr {$x * ${:delta}}}} {-4 -3 -2 -1 0 1 2 3 4} ok tcl86/apply.004: o map {x {:foo $x}} {hello world} ok notice: Running test case: ./tests/tcl86.test bug-3418547 tcl86/bug-3418547.001: info commands "::@" ok tcl86/bug-3418547.002: getType @ ok tcl86/bug-3418547.003: namespace which @ ok tcl86/bug-3418547.004: getType @ ok tcl86/bug-3418547.005 hint: we could compare with errorCode: TCL LOOKUP COMMAND @ tcl86/bug-3418547.005: @ ok tcl86/bug-3418547.006: getType @ ok tcl86/bug-3418547.007: getType @ ok tcl86/bug-3418547.008: getType @ ok tcl86/bug-3418547.009: ::o foo ok tcl86/bug-3418547.010: info commands ::@ ok tcl86/bug-3418547.011: ::@ ok tcl86/bug-3418547.012: getType @ ok tcl86/bug-3418547.013: getType @ ok tcl86/bug-3418547.014: ::nx::@ ok tcl86/bug-3418547.015: @ ok tcl86/bug-3418547.016: getType @ ok tcl86/bug-3418547.017: namespace eval :: @ ok tcl86/bug-3418547.018: namespace eval :: ::@ ok tcl86/bug-3418547.019: getType @ ok tcl86/bug-3418547.020: getType ::@ ok tcl86/bug-3418547.021: namespace origin @ ok tcl86/bug-3418547.022: getType @ ok tcl86/bug-3418547.023: namespace origin ::@ ok tcl86/bug-3418547.024: getType @ ok tcl86/bug-3418547.025: getType ::@ ok tcl86/bug-3418547.026: @ ok notice: Running test case: ./tests/tcl86.test bug-3418547-no-context tcl86/bug-3418547-no-context.001: info commands "::@" ok tcl86/bug-3418547-no-context.002: getType @ ok tcl86/bug-3418547-no-context.003: namespace which @ ok tcl86/bug-3418547-no-context.004: getType @ ok tcl86/bug-3418547-no-context.005 hint: we could compare with errorCode: TCL LOOKUP COMMAND @ tcl86/bug-3418547-no-context.005: @ ok tcl86/bug-3418547-no-context.006: @ ok tcl86/bug-3418547-no-context.007: getType @ ok tcl86/bug-3418547-no-context.008: set r ok tcl86/bug-3418547-no-context.009: getType @ ok tcl86/bug-3418547-no-context.010: set r ok tcl86/bug-3418547-no-context.011: getType @ ok tcl86/bug-3418547-no-context.012: ::o foo ok tcl86/bug-3418547-no-context.013: set r ok tcl86/bug-3418547-no-context.014: @ ok notice: Running test case: ./tests/tcl86.test resolver-1.6 tcl86/resolver-1.6.001: set r ok tcl86/resolver-1.6.002: ::nx::@ ok tcl86/resolver-1.6.003: set r ok Summary: Test-set tcl86 tests 52 success 52 failure 0 ms 1 TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./tests`/contains.test -libdir `echo ./unix` -testlog ./__test.log OK ::nsf::__#0 eval {set :x} OK self OK namespace current OK self OK namespace current OK self OK Tree create branch OK Tree new OK catch {Arbre create root { :contains { Arbre create level1 { :contains { Arbre level2 } } } }} msg opts; set msg OK catch {Arbre create root { :contains { Arbre create level1 { :contains { return -code error -errorcode MYERR } } } }} msg opts; dict get $opts -errorcode OK info command ::next OK c1 foo OK c1 foo OK c2 bar OK set errMsg OK set c OK set c Warning: Base class '::nx::Object' exists already; ignoring definition Notice: trying to refetch an epoched cmd 0x3ffaed26420 as init -- cmdName ::nsf::methods::object::init Warning: Base class '::xotcl::Object' exists already; ignoring definition OK catch {::xotcl::Class create C0 -superclass ::nx::Object} errorMsg OK set ::errorMsg OK nx::Object create o OK o contains { nx::Object create p} OK catch {o contains { return -code error -errorcode {FOO bar baz} somethingwrong}} errorMsg OK set ::errorMsg OK set ::errorinfo OK set ::errorcode ====EXIT ./tests/contains.test TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./tests`/tcloo.test -libdir `echo ./unix` -testlog ./__test.log notice: Running test case: ./tests/tcloo.test export Warning: '::nsf::__#0 Foo' fails since method ::nsf::__#0.Foo is protected tcloo/export.001: ::nsf::__#0 Foo ok tcloo/export.002: ::nsf::__#0 eval :Foo ok tcloo/export.003: ::nsf::__#0 Foo ok tcloo/export.004: ::nsf::__#0 eval :Foo ok tcloo/export.005: bar is neither defined, nor declared exported ok tcloo/export.006: bar is exported, yet not defined anywhere ok tcloo/export.007: bar is exported, yet not defined anywhere (self send) ok Warning: '::testObject Good' fails since method ::testClass.Good is protected tcloo/export.008: testObject Good ok tcloo/export.009: testObject eval {:Good} ok tcloo/export.010: testObject Good ok Warning: '::testObject Fine' fails since method ::testClass.Fine is protected tcloo/export.011: testObject Fine ok tcloo/export.012: testObject eval {:Fine} ok tcloo/export.013: testObject Fine ok tcloo/export.014: testObject eval {:Fine} ok Warning: '::anotherTestObject Finest' fails since method ::testClass.Finest is protected tcloo/export.015: anotherTestObject Finest ok tcloo/export.016: anotherTestObject Finest ok tcloo/export.017: bran foo ok Warning: '::bran foo' fails since method ::bran.foo is protected tcloo/export.018: bran foo ok notice: Running test case: ./tests/tcloo.test unexport tcloo/unexport.001: ::nsf::__#1 bar ok Warning: '::nsf::__#1 bar' fails since method ::nsf::__#1.bar is protected tcloo/unexport.002: ::nsf::__#1 bar ok tcloo/unexport.003: ::nsf::__#1 eval :bar ok tcloo/unexport.004: ::nsf::__#2 foo ok tcloo/unexport.005: ::nsf::__#2 eval :foo ok Warning: '::nsf::__#2 foo' fails since method ::nsf::__#2.foo is protected tcloo/unexport.006: foo was made 'protected' ok tcloo/unexport.007: foo is still available for self sends ok tcloo/unexport.008: ::nsf::__#3 foo ok tcloo/unexport.009: ::nsf::__#3 eval :foo ok Warning: '::nsf::__#3 foo' fails since method ::nsf::__#3.foo is protected tcloo/unexport.010: created a protected dummy ok tcloo/unexport.011: foo is still available for self sends (through a next send in the dummy) ok tcloo/unexport.012: ::nsf::__#3 bar ok tcloo/unexport.013: ::nsf::__#3 eval :bar ok Warning: '::nsf::__#3 bar' fails since method ::C.bar is protected tcloo/unexport.014: created a protected dummy ok tcloo/unexport.015: bar is still available for self sends (through a next send in the dummy) ok Warning: '::nsf::__#4 bar' fails since method ::C.bar is protected tcloo/unexport.016: shielded by protected dummy at the level of class C ok tcloo/unexport.017: ::nsf::__#4 eval :bar ok tcloo/unexport.018: ::nsf::__#4 baz ok Warning: '::nsf::__#4 baz' fails since method ::D.baz is protected tcloo/unexport.019: ::nsf::__#4 baz ok tcloo/unexport.020: ::nsf::__#4 eval :baz ok tcloo/unexport.021: [testClass2 new] foo ok Warning: '::AbstractQueue new' fails since method ::AbstractQueue.new is protected tcloo/unexport.022: AbstractQueue new ok Warning: '::AbstractQueue create' fails since method ::AbstractQueue.create is protected tcloo/unexport.023: AbstractQueue create aQueue ok Summary: Test-set tcloo tests 41 success 41 failure 0 ms 1 TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./tests`/interp.test -libdir `echo ./unix` -testlog ./__test.log notice: Running test case: ./tests/interp.test hidden-cmds interp/hidden-cmds.001: $i eval [list info commands ::nx::Object] ok interp/hidden-cmds.002: $i eval [list info commands ::nx::Object] ok interp/hidden-cmds.003: $i eval {info commands ::o} ok interp/hidden-cmds.004: $i eval {info commands ::C} ok interp/hidden-cmds.005: $i eval {info commands ::M} ok interp/hidden-cmds.006: interp hidden $i ok interp/hidden-cmds.007: interp hidden $i ok interp/hidden-cmds.008 hint: we could compare with errorCode: TCL LOOKUP COMMAND ::o interp/hidden-cmds.008: $i eval ::o ok interp/hidden-cmds.009: $i eval {info commands ::o} ok interp/hidden-cmds.010: interp eval $i {::C create ::c} ok interp/hidden-cmds.011: interp eval $i {::C mixins add ::M} ok interp/hidden-cmds.012: interp eval $i {::C object mixins add ::M} ok interp/hidden-cmds.013 hint: we could compare with errorCode: TCL LOOKUP COMMAND ::C interp/hidden-cmds.013: interp eval $i {::C create ::c2} ok interp/hidden-cmds.014: $i eval {nx::Object info instances ::o} ok interp/hidden-cmds.015: interp invokehidden $i o ::nsf::methods::object::info::class ok interp/hidden-cmds.016: interp invokehidden $i o info class ok interp/hidden-cmds.017: interp eval $i {c info class} ok interp/hidden-cmds.018: interp invokehidden $i C info instances ::c ok interp/hidden-cmds.019: interp invokehidden $i C info mixins ok interp/hidden-cmds.020: $i eval {M info mixinof ::C} ok interp/hidden-cmds.021: $i eval {M info mixinof -scope class ::C} ok interp/hidden-cmds.022: $i eval {M info mixinof -scope object ::C} ok interp/hidden-cmds.023: interp eval $i {c bar} ok interp/hidden-cmds.024: interp eval $i {c bar} ok interp/hidden-cmds.025: interp invokehidden $i C foo ok interp/hidden-cmds.026: interp eval $i {c foo} ok interp/hidden-cmds.027: $i eval { info exists ::o } ok interp/hidden-cmds.028: $i eval {interp hidden} ok interp/hidden-cmds.029: $i eval {info commands ::o} ok interp/hidden-cmds.030: $i eval {info commands ::C} ok interp/hidden-cmds.031: $i eval { info exists ::o } ok interp/hidden-cmds.032: $i eval { set ::o } ok interp/hidden-cmds.033: $i eval { info exists ::c } ok interp/hidden-cmds.034: $i eval { set ::c } ok notice: Running test case: ./tests/interp.test hidden-cmds+explicit-delete interp/hidden-cmds+explicit-delete.001: $i eval {interp hidden} ok interp/hidden-cmds+explicit-delete.002: $i eval {info commands ::o2} ok interp/hidden-cmds+explicit-delete.003: $i eval {nx::Object info instances ::o2} ok interp/hidden-cmds+explicit-delete.004: $i eval {nsf::object::exists ::o2} ok interp/hidden-cmds+explicit-delete.005: $i eval {interp hidden} ok interp/hidden-cmds+explicit-delete.006: $i eval {info commands ::o2} ok interp/hidden-cmds+explicit-delete.007: $i eval {nx::Object info instances ::o2} ok interp/hidden-cmds+explicit-delete.008: $i eval {nsf::object::exists ::o2} ok interp/hidden-cmds+explicit-delete.009: interp invokehidden $i o2 destroy ok interp/hidden-cmds+explicit-delete.010: $i eval {interp hidden} ok interp/hidden-cmds+explicit-delete.011: $i eval {nx::Object info instances ::o2} ok interp/hidden-cmds+explicit-delete.012: $i eval {info commands ::o2} ok interp/hidden-cmds+explicit-delete.013: $i eval {nsf::object::exists ::o2} ok notice: Running test case: ./tests/interp.test hide-and-re-expose interp/hide-and-re-expose.001: interp eval $i {interp hidden} ok interp/hide-and-re-expose.002: interp eval $i {info commands ::o} ok interp/hide-and-re-expose.003: interp eval $i {nx::Object info instances ::o} ok interp/hide-and-re-expose.004: interp eval $i {nsf::object::exists ::o} ok interp/hide-and-re-expose.005: interp eval $i {interp hidden} ok interp/hide-and-re-expose.006: interp eval $i {info commands ::o} ok interp/hide-and-re-expose.007: interp eval $i {nx::Object info instances ::o} ok interp/hide-and-re-expose.008: interp eval $i {nsf::object::exists ::o} ok interp/hide-and-re-expose.009: $i eval {::o foo} ok interp/hide-and-re-expose.010: interp eval $i {info exists ::o} ok interp/hide-and-re-expose.011: interp eval $i {set ::o} ok interp/hide-and-re-expose.012: interp eval $i {interp hidden} ok interp/hide-and-re-expose.013: interp eval $i {info commands ::o} ok notice: Running test case: ./tests/interp.test command-renaming interp/command-renaming.001: interp eval $i {interp hidden} ok interp/command-renaming.002: interp eval $i {info commands ::o} ok interp/command-renaming.003: interp eval $i {nx::Object info instances ::o} ok interp/command-renaming.004: interp eval $i {nsf::object::exists ::o} ok interp/command-renaming.005: interp invokehidden $i O foo ok interp/command-renaming.006: interp eval $i {OO foo} ok interp/command-renaming.007: interp eval $i {interp hidden} ok interp/command-renaming.008: interp eval $i {info commands ::o} ok interp/command-renaming.009: interp eval $i {info commands ::OO} ok interp/command-renaming.010: interp eval $i {nx::Object info instances ::o} ok interp/command-renaming.011: interp eval $i {nx::Object info instances ::OO} ok interp/command-renaming.012: interp eval $i {nsf::object::exists ::o} ok interp/command-renaming.013: interp eval $i {nsf::object::exists ::OO} ok interp/command-renaming.014: interp eval $i {info exists ::o} ok interp/command-renaming.015: interp eval $i {set ::o} ok interp/command-renaming.016: interp eval $i {interp hidden} ok interp/command-renaming.017: interp eval $i {info commands ::o} ok notice: Running test case: ./tests/interp.test namespaced-object interp/namespaced-object.001 hint: we could compare with errorCode: TCL VALUE HIDDENTOKEN interp/namespaced-object.001: $i hide ::ns1::o ok interp/namespaced-object.002: interp eval $i {interp hidden} ok interp/namespaced-object.003: interp eval $i {info commands ::X} ok interp/namespaced-object.004: interp eval $i {nx::Object info instances ::X} ok interp/namespaced-object.005: interp eval $i {nsf::object::exists ::X} ok interp/namespaced-object.006: interp eval $i {interp hidden} ok interp/namespaced-object.007: interp eval $i {info commands ::X} ok interp/namespaced-object.008: interp eval $i {nx::Object info instances ::X} ok interp/namespaced-object.009: interp eval $i {nsf::object::exists ::X} ok interp/namespaced-object.010: interp eval $i {info exists ::X} ok interp/namespaced-object.011: interp eval $i {set ::X} ok notice: Running test case: ./tests/interp.test deletion-order interp/deletion-order.001: interp eval $i {info exists ::C} ok interp/deletion-order.002: interp eval $i {set ::C} ok interp/deletion-order.003: interp eval $i {info exists ::o} ok interp/deletion-order.004: interp eval $i {set ::o} ok notice: Running test case: ./tests/interp.test error-in-destroy-1 interp/error-in-destroy-1.001 hint: we could compare with errorCode: TCL LOOKUP COMMAND ::o interp/error-in-destroy-1.001: interp eval $i {::rename ::o ""} ok interp/error-in-destroy-1.002: interp invokehidden $i o destroy ok interp/error-in-destroy-1.003: interp eval $i {interp hidden} ok interp/error-in-destroy-1.004: interp eval $i {info commands ::o} ok interp/error-in-destroy-1.005: interp eval $i {nx::Object info instances ::o} ok interp/error-in-destroy-1.006: interp eval $i {nsf::object::exists ::o} ok Error in method destroy: NONE BAFF! while executing "error BAFF!" (procedure "destroy" line 2) ::o->destroy interp/error-in-destroy-1.007: interp eval $i {interp hidden} ok interp/error-in-destroy-1.008: interp eval $i {info commands ::o} ok notice: Running test case: ./tests/interp.test error-in-destroy-2 interp/error-in-destroy-2.001: interp eval $i {::bar} ok interp/error-in-destroy-2.002: interp eval $i {::o destroy} ok interp/error-in-destroy-2.003: interp eval $i {interp hidden} ok interp/error-in-destroy-2.004: interp eval $i {info commands ::o} ok interp/error-in-destroy-2.005: interp eval $i {nx::Object info instances ::o} ok interp/error-in-destroy-2.006: interp eval $i {nsf::object::exists ::o} ok notice: Running test case: ./tests/interp.test error-in-destroy-3 interp/error-in-destroy-3.001 hint: we could compare with errorCode: TCL LOOKUP COMMAND ::o interp/error-in-destroy-3.001: interp eval $i {::o destroy} ok interp/error-in-destroy-3.002: interp invokehidden $i o destroy ok interp/error-in-destroy-3.003: interp eval $i {interp hidden} ok interp/error-in-destroy-3.004: interp eval $i {nx::Object info instances ::o} ok interp/error-in-destroy-3.005: interp eval $i {info commands ::o} ok interp/error-in-destroy-3.006: interp eval $i {nsf::object::exists ::o} ok notice: Running test case: ./tests/interp.test hidden-procs-as-aliases interp/hidden-procs-as-aliases.001: $i eval {o foo} ok interp/hidden-procs-as-aliases.002: $i hidden ok interp/hidden-procs-as-aliases.003: $i hidden ok Notice: trying to refetch an epoched cmd 0x3ff9ff57a50 as foo -- cmdName ::FOO interp/hidden-procs-as-aliases.004: $i eval {o foo} ok interp/hidden-procs-as-aliases.005: $i hidden ok Notice: trying to refetch an epoched cmd 0x3ff9ff57a50 as foo -- cmdName ::FOO interp/hidden-procs-as-aliases.006: $i eval {o foo} ok interp/hidden-procs-as-aliases.007: $i hidden ok interp/hidden-procs-as-aliases.008: $i hidden ok Notice: trying to refetch an epoched cmd 0x3ff9ff57a50 as foo -- cmdName ::FOO interp/hidden-procs-as-aliases.009: $i eval {o foo} ok interp/hidden-procs-as-aliases.010: $i eval {info exists ::nsf::alias(::o,foo,1)} ok interp/hidden-procs-as-aliases.011: $i eval {set ::nsf::alias(::o,foo,1)} ok interp/hidden-procs-as-aliases.012: $i eval {set ::nsf::alias(::o,foo,1) ::OOF} ok interp/hidden-procs-as-aliases.013: $i eval {info commands ::OOF} ok Notice: trying to refetch an epoched cmd 0x3ff9ff57a50 as foo -- cmdName ::OOF interp/hidden-procs-as-aliases.014: $i eval {o foo} ok notice: Running test case: ./tests/interp.test hidden-objects-as-aliases interp/hidden-objects-as-aliases.001: $i hidden ok interp/hidden-objects-as-aliases.002: $i eval {dongo bar foo} ok interp/hidden-objects-as-aliases.003: $i hidden ok Notice: trying to refetch an epoched cmd 0x3ff9ffa23a0 as bar -- cmdName ::x interp/hidden-objects-as-aliases.004: $i eval {dongo bar foo} ok interp/hidden-objects-as-aliases.005 hint: we could compare with errorCode: TCL LOOKUP COMMAND x interp/hidden-objects-as-aliases.005: $i eval {x foo} ok interp/hidden-objects-as-aliases.006: $i invokehidden x foo ok interp/hidden-objects-as-aliases.007: $i hidden ok Notice: trying to refetch an epoched cmd 0x3ff9ffa23a0 as bar -- cmdName ::x interp/hidden-objects-as-aliases.008: $i eval {dongo bar foo} ok interp/hidden-objects-as-aliases.009: $i eval {x foo} ok interp/hidden-objects-as-aliases.010: $i hidden ok Notice: trying to refetch an epoched cmd 0x3ff9ffa23a0 as bar -- cmdName ::x interp/hidden-objects-as-aliases.011: $i eval {dongo bar foo} ok interp/hidden-objects-as-aliases.012 hint: we could compare with errorCode: TCL LOOKUP COMMAND X interp/hidden-objects-as-aliases.012: $i eval {X foo} ok interp/hidden-objects-as-aliases.013: $i invokehidden X foo ok interp/hidden-objects-as-aliases.014: $i hidden ok Notice: trying to refetch an epoched cmd 0x3ff9ffa23a0 as bar -- cmdName ::x interp/hidden-objects-as-aliases.015: $i eval {dongo bar foo} ok interp/hidden-objects-as-aliases.016: $i eval {XX foo} ok interp/hidden-objects-as-aliases.017 hint: we could compare with errorCode: TCL VALUE HIDDENTOKEN interp/hidden-objects-as-aliases.017: $i hide ::o::foo ok notice: Running test case: ./tests/interp.test hidden-mixins-procsearch interp/hidden-mixins-procsearch.001: $i eval {x foo} ok interp/hidden-mixins-procsearch.002: $i hidden ok interp/hidden-mixins-procsearch.003: with hidden mixin ok interp/hidden-mixins-procsearch.004: $i hidden ok interp/hidden-mixins-procsearch.005: with re-exposed mixin ok interp/hidden-mixins-procsearch.006: with hidden mixin (renamed command) ok interp/hidden-mixins-procsearch.007: with re-exposed mixin (renamed command) ok interp/hidden-mixins-procsearch.008: $i eval {x object mixins add M2} ok interp/hidden-mixins-procsearch.009: $i invokehidden M mixins add M2 ok notice: Running test case: ./tests/interp.test hidden-mixins-mixinlists interp/hidden-mixins-mixinlists.001: $i eval {o info precedence} ok interp/hidden-mixins-mixinlists.002: $i eval {o info object mixins} ok interp/hidden-mixins-mixinlists.003: $i hidden ok interp/hidden-mixins-mixinlists.004: $i hidden ok interp/hidden-mixins-mixinlists.005: $i eval {o info precedence} ok interp/hidden-mixins-mixinlists.006: $i eval {o info precedence} ok interp/hidden-mixins-mixinlists.007: $i eval {o info object mixins} ok interp/hidden-mixins-mixinlists.008: $i invokehidden M1 info mixinof ok notice: Running test case: ./tests/interp.test nsf-interp-basics interp/nsf-interp-basics.001: $i eval {info commands ::nsf::is} ok interp/nsf-interp-basics.002: interp issafe $i ok interp/nsf-interp-basics.003: ::nsf::interp create zzz ok interp/nsf-interp-basics.004: $i eval {info commands ::nsf::is} ok interp/nsf-interp-basics.005: interp issafe $i ok Summary: Test-set interp tests 165 success 165 failure 0 ms 6 TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./tests`/serialize.test -libdir `echo ./unix` -testlog ./__test.log notice: Running test case: ./tests/serialize.test serialize-target serialize/serialize-target.001: nsf::method::forward::property :::xxx -per-object ref target ok serialize/serialize-target.002: nsf::var::get ::xxx::per-object-slot::ref manager ok serialize/serialize-target.003: nsf::var::get ::xxx::per-object-slot::ref domain ok serialize/serialize-target.004: set _ ::XXX::per-object-slot::ref ok serialize/serialize-target.005: nsf::method::forward::property ::XXX -per-object ref target ok serialize/serialize-target.006: nsf::var::get ::XXX::per-object-slot::ref manager ok serialize/serialize-target.007: nsf::var::get ::XXX::per-object-slot::ref domain ok notice: Running test case: ./tests/serialize.test deepSerialize-map-filter serialize/deepSerialize-map-filter.001: ::nsf::object::exists ::a ok serialize/deepSerialize-map-filter.002: ::nsf::object::exists ::a::b ok serialize/deepSerialize-map-filter.003: ::nsf::object::exists ::a::b::c ok serialize/deepSerialize-map-filter.004: ::a ref get ok serialize/deepSerialize-map-filter.005: ::nsf::object::exists ::a ok serialize/deepSerialize-map-filter.006: ::nsf::object::exists ::a::b ok serialize/deepSerialize-map-filter.007: ::nsf::object::exists ::a::b::c ok serialize/deepSerialize-map-filter.008: ::nsf::object::exists ::a ok serialize/deepSerialize-map-filter.009: ::nsf::object::exists ::a::b ok serialize/deepSerialize-map-filter.010: ::nsf::object::exists ::a::b::c ok serialize/deepSerialize-map-filter.011: ::nsf::object::exists ::x ok serialize/deepSerialize-map-filter.012: ::nsf::object::exists ::x::y ok serialize/deepSerialize-map-filter.013: ::nsf::object::exists ::x::y::c ok serialize/deepSerialize-map-filter.014: ::x ref get ok serialize/deepSerialize-map-filter.015: ::x::y::c eval {set :parentRef} ok serialize/deepSerialize-map-filter.016: ::nsf::object::exists ::a::c ok serialize/deepSerialize-map-filter.017: ::nsf::object::exists ::a::c ok serialize/deepSerialize-map-filter.018: ::a::c eval {set :parentRef} ok notice: Running test case: ./tests/serialize.test deepSerialize-ignoreVarsRE-filter serialize/deepSerialize-ignoreVarsRE-filter.001: C x set 1 ok serialize/deepSerialize-ignoreVarsRE-filter.002: C x get ok serialize/deepSerialize-ignoreVarsRE-filter.003: C y set 1 ok serialize/deepSerialize-ignoreVarsRE-filter.004: C y get ok serialize/deepSerialize-ignoreVarsRE-filter.005: lsort [C info methods] ok serialize/deepSerialize-ignoreVarsRE-filter.006: lsort [C info object methods] ok serialize/deepSerialize-ignoreVarsRE-filter.007: c1 a set b ok serialize/deepSerialize-ignoreVarsRE-filter.008: c1 a set 1 ok serialize/deepSerialize-ignoreVarsRE-filter.009: c1 b set 1 ok serialize/deepSerialize-ignoreVarsRE-filter.010: nsf::object::exists c1 ok serialize/deepSerialize-ignoreVarsRE-filter.011: nsf::object::exists c1 ok serialize/deepSerialize-ignoreVarsRE-filter.012: Object c1 One2 ok serialize/deepSerialize-ignoreVarsRE-filter.013: nsf::object::exists c1 ok serialize/deepSerialize-ignoreVarsRE-filter.014: nsf::object::exists c1 ok serialize/deepSerialize-ignoreVarsRE-filter.015: Object c1 IgnoreAll ok serialize/deepSerialize-ignoreVarsRE-filter.016: nsf::object::exists c1 ok serialize/deepSerialize-ignoreVarsRE-filter.017: nsf::object::exists c1 ok serialize/deepSerialize-ignoreVarsRE-filter.018: Object c1 IgnoreNone1 ok serialize/deepSerialize-ignoreVarsRE-filter.019: nsf::object::exists c1 ok serialize/deepSerialize-ignoreVarsRE-filter.020: nsf::object::exists c1 ok serialize/deepSerialize-ignoreVarsRE-filter.021: Object c1 None2 ok serialize/deepSerialize-ignoreVarsRE-filter.022: nsf::object::exists c1 ok serialize/deepSerialize-ignoreVarsRE-filter.023: nsf::object::exists c1 ok serialize/deepSerialize-ignoreVarsRE-filter.024: Object c1 One ok serialize/deepSerialize-ignoreVarsRE-filter.025: nsf::object::exists c1 ok serialize/deepSerialize-ignoreVarsRE-filter.026: nsf::object::exists c1 ok serialize/deepSerialize-ignoreVarsRE-filter.027: Object c1 IgnoreNone2 ok serialize/deepSerialize-ignoreVarsRE-filter.028: nsf::object::exists C ok serialize/deepSerialize-ignoreVarsRE-filter.029: nsf::object::exists C ok serialize/deepSerialize-ignoreVarsRE-filter.030: Class C One2 ok serialize/deepSerialize-ignoreVarsRE-filter.031: nsf::object::exists C ok serialize/deepSerialize-ignoreVarsRE-filter.032: nsf::object::exists C ok serialize/deepSerialize-ignoreVarsRE-filter.033: Class C IgnoreNone1 ok serialize/deepSerialize-ignoreVarsRE-filter.034: nsf::object::exists C ok serialize/deepSerialize-ignoreVarsRE-filter.035: nsf::object::exists C ok serialize/deepSerialize-ignoreVarsRE-filter.036: Class C IgnoreNone2 ok notice: Running test case: ./tests/serialize.test deepSerialize-ignore-filter serialize/deepSerialize-ignore-filter.001: ::nsf::object::exists ::a ok serialize/deepSerialize-ignore-filter.002: ::nsf::object::exists ::a::b ok serialize/deepSerialize-ignore-filter.003: ::nsf::object::exists ::a::c ok serialize/deepSerialize-ignore-filter.004: ::nsf::object::exists ::a::c ok serialize/deepSerialize-ignore-filter.005: ::nsf::object::exists ::a::b ok serialize/deepSerialize-ignore-filter.006: ::nsf::object::exists ::a ok serialize/deepSerialize-ignore-filter.007: ::nsf::object::exists ::a ok serialize/deepSerialize-ignore-filter.008: ::nsf::object::exists ::a::b ok serialize/deepSerialize-ignore-filter.009: ::nsf::object::exists ::a::c ok serialize/deepSerialize-ignore-filter.010: ::nsf::object::exists ::a ok serialize/deepSerialize-ignore-filter.011: ::nsf::object::exists ::a ok notice: Running test case: ./tests/serialize.test serialize-slotContainer serialize/serialize-slotContainer.001: ::nsf::object::exists ::C::slot ok serialize/serialize-slotContainer.002: ::nsf::object::exists ::C::per-object-slot ok serialize/serialize-slotContainer.003: ::nx::isSlotContainer ::C::slot ok serialize/serialize-slotContainer.004: ::nx::isSlotContainer ::C::per-object-slot ok serialize/serialize-slotContainer.005: ::nsf::object::exists ::C::slot::a ok serialize/serialize-slotContainer.006: ::nsf::object::exists ::C::per-object-slot::x ok serialize/serialize-slotContainer.007: ::nsf::object::property ::C hasperobjectslots ok serialize/serialize-slotContainer.008: ::nsf::object::exists ::C ok serialize/serialize-slotContainer.009: ::nsf::object::exists ::C::slot ok serialize/serialize-slotContainer.010: ::nsf::object::exists ::C::per-object-slot ok serialize/serialize-slotContainer.011: ::nx::isSlotContainer ::C::slot ok serialize/serialize-slotContainer.012: ::nx::isSlotContainer ::C::per-object-slot ok serialize/serialize-slotContainer.013: ::nsf::object::exists ::C::slot::a ok serialize/serialize-slotContainer.014: ::nsf::object::exists ::C::per-object-slot::x ok serialize/serialize-slotContainer.015: ::nsf::object::property ::C hasperobjectslots ok notice: Running test case: ./tests/serialize.test serialize-object-properties serialize/serialize-object-properties.001: ::nsf::object::exists ::o ok serialize/serialize-object-properties.002: ::nsf::object::property ::o keepcallerself ok serialize/serialize-object-properties.003: ::nsf::object::property ::o perobjectdispatch ok serialize/serialize-object-properties.004: ::nsf::object::exists ::C ok serialize/serialize-object-properties.005: ::nsf::object::property ::C keepcallerself ok serialize/serialize-object-properties.006: ::nsf::object::property ::C perobjectdispatch ok notice: Running test case: ./tests/serialize.test nx-serialize-debug-deprecated serialize/nx-serialize-debug-deprecated.001: ::nsf::method::property o ofoo deprecated ok serialize/nx-serialize-debug-deprecated.002: ::nsf::method::property o ofoo debug ok serialize/nx-serialize-debug-deprecated.003: ::nsf::method::property o obar deprecated ok serialize/nx-serialize-debug-deprecated.004: ::nsf::method::property o obar debug ok serialize/nx-serialize-debug-deprecated.005: ::nsf::method::property o obaz deprecated ok serialize/nx-serialize-debug-deprecated.006: ::nsf::method::property o obaz debug ok serialize/nx-serialize-debug-deprecated.007: ::nsf::object::exists ::o ok serialize/nx-serialize-debug-deprecated.008: ::nsf::method::property o ofoo deprecated ok serialize/nx-serialize-debug-deprecated.009: ::nsf::method::property o ofoo debug ok serialize/nx-serialize-debug-deprecated.010: ::nsf::method::property o obar deprecated ok serialize/nx-serialize-debug-deprecated.011: ::nsf::method::property o obar debug ok serialize/nx-serialize-debug-deprecated.012: ::nsf::method::property o obaz deprecated ok serialize/nx-serialize-debug-deprecated.013: ::nsf::method::property o obaz debug ok serialize/nx-serialize-debug-deprecated.014: ::nsf::method::property C foo deprecated ok serialize/nx-serialize-debug-deprecated.015: ::nsf::method::property C foo debug ok serialize/nx-serialize-debug-deprecated.016: ::nsf::method::property C bar deprecated ok serialize/nx-serialize-debug-deprecated.017: ::nsf::method::property C bar debug ok serialize/nx-serialize-debug-deprecated.018: ::nsf::method::property C baz deprecated ok serialize/nx-serialize-debug-deprecated.019: ::nsf::method::property C baz debug ok serialize/nx-serialize-debug-deprecated.020: ::nsf::object::exists ::C ok serialize/nx-serialize-debug-deprecated.021: ::nsf::method::property C foo deprecated ok serialize/nx-serialize-debug-deprecated.022: ::nsf::method::property C foo debug ok serialize/nx-serialize-debug-deprecated.023: ::nsf::method::property C bar deprecated ok serialize/nx-serialize-debug-deprecated.024: ::nsf::method::property C bar debug ok serialize/nx-serialize-debug-deprecated.025: ::nsf::method::property C baz deprecated ok serialize/nx-serialize-debug-deprecated.026: ::nsf::method::property C baz debug ok notice: Running test case: ./tests/serialize.test xotcl-info-internals serialize/xotcl-info-internals.001: catch {::Serializer methodSerialize ::xotcl::classInfo default ""} ok Summary: Test-set serialize tests 120 success 120 failure 0 ms 2 TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./tests`/plain-object-method.test -libdir `echo ./unix` -testlog ./__test.log notice: Running test case: ./tests/plain-object-method.test plain-methods-0 plain-object-method/plain-methods-0.001: o public method foo {} {return foo} ok plain-object-method/plain-methods-0.002: o mixins set M1 ok plain-object-method/plain-methods-0.003: o filters set f ok plain-object-method/plain-methods-0.004: lsort [o info object methods] ok plain-object-method/plain-methods-0.005: lsort [o info] ok notice: Running test case: ./tests/plain-object-method.test plain-methods-1 warn: plain object method: ::o method foo {} {return [:pm1]} warn: plain object method: ::o method f args next warn: plain object method: ::o method pm1 args {return pm1} warn: plain object method: ::o alias a ::o::pm1 warn: plain object method: ::o forward fwd %self pm1 warn: plain object method: ::o method priv args {return priv} warn: plain object method: ::o method pm2 args {return pm2} warn: plain object method: ::o property -accessor public p warn: plain object method: ::o variable v1 1 warn: plain object method: ::o variable -incremental v2:integer 1 warn: plain object method: ::o methods plain-object-method/plain-methods-1.001: o info methods ok warn: plain object method: ::o methods -callprotection protected plain-object-method/plain-methods-1.002: lsort [o info methods -callprotection protected] ok warn: plain object method: ::o methods -callprotection private plain-object-method/plain-methods-1.003: lsort [o info methods -callprotection private] ok warn: plain object method: ::o variables plain-object-method/plain-methods-1.004: o info variables ok plain-object-method/plain-methods-1.005: o info object variables ok warn: plain object method: ::o slots plain-object-method/plain-methods-1.006: o info slots ok Warning: '::o pm1' fails since method ::o.pm1 is protected plain-object-method/plain-methods-1.007: o pm1 ok plain-object-method/plain-methods-1.008: o foo ok plain-object-method/plain-methods-1.009: o a ok plain-object-method/plain-methods-1.010: o fwd ok warn: plain object method: ::o mixins set M1 plain-object-method/plain-methods-1.011: o mixins set M1 ok warn: plain object method: ::o mixins plain-object-method/plain-methods-1.012: o info mixins ok warn: plain object method: ::o mixins set {} plain-object-method/plain-methods-1.013: o mixins set "" ok warn: plain object method: ::o mixins plain-object-method/plain-methods-1.014: o info mixins ok warn: plain object method: ::o filters set f plain-object-method/plain-methods-1.015: o filters set f ok warn: plain object method: ::o filters plain-object-method/plain-methods-1.016: o info filters ok warn: plain object method: ::o filters set {} plain-object-method/plain-methods-1.017: o filters set "" ok warn: plain object method: ::o filters plain-object-method/plain-methods-1.018: o info filters ok plain-object-method/plain-methods-1.019: lsort [o info object methods] ok plain-object-method/plain-methods-1.020: lsort [o info] ok notice: Running test case: ./tests/plain-object-method.test plain-methods-2 warn: plain object method: ::o method foo {} {return foo} warn: plain object method: ::o property -accessor public p warn: plain object method: ::o variable -incremental v1:integer 1 warn: plain object method: ::o methods plain-object-method/plain-methods-2.001: o info methods ok warn: plain object method: ::o variables plain-object-method/plain-methods-2.002: o info variables ok warn: plain object method: ::o method foo plain-object-method/plain-methods-2.003: o delete method foo ok warn: plain object method: ::o methods plain-object-method/plain-methods-2.004: o info methods ok warn: plain object method: ::o variables plain-object-method/plain-methods-2.005: o info variables ok warn: plain object method: ::o property p plain-object-method/plain-methods-2.006: o delete property p ok warn: plain object method: ::o methods plain-object-method/plain-methods-2.007: o info methods ok warn: plain object method: ::o variables plain-object-method/plain-methods-2.008: o info variables ok warn: plain object method: ::o variable v1 plain-object-method/plain-methods-2.009: o delete variable v1 ok warn: plain object method: ::o methods plain-object-method/plain-methods-2.010: o info methods ok warn: plain object method: ::o variables plain-object-method/plain-methods-2.011: o info variables ok notice: Running test case: ./tests/plain-object-method.test plain-methods-3 warn: plain object method: ::o method set warn: plain object method: ::o methods plain-object-method/plain-methods-3.001: ::o info methods ok plain-object-method/plain-methods-3.002: ::o info object methods ok Summary: Test-set plain-object-method tests 38 success 38 failure 0 ms 2 TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./tests`/class-method.test -libdir `echo ./unix` -testlog ./__test.log notice: Running test case: ./tests/class-method.test class-methods-0 class-method/class-methods-0.001: ::C public class method foo {} {return foo} ok class-method/class-methods-0.002: ::C class mixins set M1 ok class-method/class-methods-0.003: ::C class filter f ok class-method/class-methods-0.004: lsort [::C info object methods] ok class-method/class-methods-0.005: lsort [::C info] ok notice: Running test case: ./tests/class-method.test class-methods-1 warn: class method: ::C method foo {} {return [:pm1]} warn: class method: ::C method f args next warn: class method: ::C method pm1 args {return pm1} warn: class method: ::C alias a ::C::pm1 warn: class method: ::C forward fwd %self pm1 warn: class method: ::C method priv args {return priv} warn: class method: ::C method pm2 args {return pm2} warn: class method: ::C property -accessor public p warn: class method: ::C variable v1 1 warn: class method: ::C variable -incremental v2:integer 1 class-method/class-methods-1.001: ::C info object methods ok class-method/class-methods-1.002: lsort [::C info object methods -callprotection protected] ok class-method/class-methods-1.003: lsort [::C info object methods -callprotection private] ok warn: class method: ::C methods class-method/class-methods-1.004: ::C class info methods ok warn: class method: ::C methods -callprotection protected class-method/class-methods-1.005: lsort [::C class info methods -callprotection protected] ok warn: class method: ::C methods -callprotection private class-method/class-methods-1.006: lsort [::C class info methods -callprotection private] ok warn: class method: ::C variables class-method/class-methods-1.007: ::C class info variables ok class-method/class-methods-1.008: ::C info object variables ok warn: class method: ::C slots class-method/class-methods-1.009: ::C class info slots ok Warning: '::C pm1' fails since method ::C.pm1 is protected class-method/class-methods-1.010: ::C pm1 ok class-method/class-methods-1.011: ::C foo ok class-method/class-methods-1.012: ::C a ok class-method/class-methods-1.013: ::C fwd ok warn: class method: ::C mixins set M1 class-method/class-methods-1.014: ::C class mixins set M1 ok warn: class method: ::C mixins class-method/class-methods-1.015: ::C class info mixins ok warn: class method: ::C mixins set {} class-method/class-methods-1.016: ::C class mixins set "" ok warn: class method: ::C mixins class-method/class-methods-1.017: ::C class info mixins ok warn: class method: ::C filters set f class-method/class-methods-1.018: ::C class filters set f ok warn: class method: ::C filters class-method/class-methods-1.019: ::C class info filters ok warn: class method: ::C filters set {} class-method/class-methods-1.020: ::C class filters set "" ok warn: class method: ::C filters class-method/class-methods-1.021: ::C class info filters ok class-method/class-methods-1.022: lsort [::C info object methods] ok class-method/class-methods-1.023: lsort [::C info] ok notice: Running test case: ./tests/class-method.test class-methods-2 warn: class method: ::C method foo {} {return foo} warn: class method: ::C property -accessor public p warn: class method: ::C variable -incremental v1:integer 1 warn: class method: ::C methods class-method/class-methods-2.001: C class info methods ok warn: class method: ::C variables class-method/class-methods-2.002: C class info variables ok warn: class method: ::C method foo class-method/class-methods-2.003: C class delete method foo ok warn: class method: ::C methods class-method/class-methods-2.004: C class info methods ok warn: class method: ::C variables class-method/class-methods-2.005: C class info variables ok warn: class method: ::C property p class-method/class-methods-2.006: C class delete property p ok warn: class method: ::C methods class-method/class-methods-2.007: C class info methods ok warn: class method: ::C variables class-method/class-methods-2.008: C class info variables ok warn: class method: ::C variable v1 class-method/class-methods-2.009: C class delete variable v1 ok warn: class method: ::C methods class-method/class-methods-2.010: C class info methods ok warn: class method: ::C variables class-method/class-methods-2.011: C class info variables ok notice: Running test case: ./tests/class-method.test class-methods-2 warn: class method: ::C method set warn: class method: ::C methods class-method/class-methods-2.012: C class info methods ok class-method/class-methods-2.013: C info object methods ok Summary: Test-set class-method tests 41 success 41 failure 0 ms 3 TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./tests`/linearization.test -libdir `echo ./unix` -testlog ./__test.log notice: Running test case: ./tests/linearization.test boat linearization/boat.001: o1 info precedence ok linearization/boat.002: o1 max-distance ok linearization/boat.003: pwb max-distance ok linearization/boat.004: pwb info precedence ok linearization/boat.005: smc max-distance ok linearization/boat.006: smc info precedence ok boat nx: ::pedalo ::pedalwheelboat ::engineless ::smallcatamaran ::smallmultihull ::dayboat ::wheelboat ::boat ::nx::Object linearization/boat.007: boat nx direct violated ::pedalo < ::pedalwheelboat ok linearization/boat.008: boat nx direct violated ::pedalo < ::smallcatamaran ok linearization/boat.009: boat nx direct violated ::pedalwheelboat < ::smallcatamaran ok linearization/boat.010: boat nx direct violated ::pedalwheelboat < ::engineless ok linearization/boat.011: boat nx direct violated ::pedalwheelboat < ::wheelboat ok linearization/boat.012: boat nx direct violated ::engineless < ::wheelboat ok linearization/boat.013: boat nx direct violated ::engineless < ::dayboat ok linearization/boat.014: boat nx direct violated ::smallcatamaran < ::smallmultihull ok linearization/boat.015: boat nx direct violated ::smallmultihull < ::dayboat ok linearization/boat.016: boat nx direct violated ::dayboat < ::boat ok linearization/boat.017: boat nx direct violated ::wheelboat < ::boat ok linearization/boat.018: boat nx direct violated ::boat < ::nx::Object ok linearization/boat.019: boat nx monotonicty violated ::boat < ::nx::Object ok linearization/boat.020: boat nx monotonicty violated ::dayboat < ::boat ok linearization/boat.021: boat nx monotonicty violated ::dayboat < ::wheelboat ok linearization/boat.022: boat nx monotonicty violated ::engineless < ::dayboat ok linearization/boat.023: boat nx monotonicty violated ::engineless < ::smallcatamaran ok linearization/boat.024: boat nx monotonicty violated ::pedalwheelboat < ::engineless ok linearization/boat.025: boat nx monotonicty violated ::smallcatamaran < ::smallmultihull ok linearization/boat.026: boat nx monotonicty violated ::smallmultihull < ::dayboat ok linearization/boat.027: boat nx monotonicty violated ::wheelboat < ::boat ok linearization/boat.028: boat nx local-order violated ::boat < ::boat ok linearization/boat.029: boat nx local-order violated ::boat < ::nx::Object ok linearization/boat.030: boat nx local-order violated ::dayboat < ::boat ok linearization/boat.031: boat nx local-order violated ::dayboat < ::dayboat ok linearization/boat.032: boat nx local-order violated ::dayboat < ::nx::Object ok linearization/boat.033: boat nx local-order violated ::engineless < ::boat ok linearization/boat.034: boat nx local-order violated ::engineless < ::dayboat ok linearization/boat.035: boat nx local-order violated ::engineless < ::engineless ok linearization/boat.036: boat nx local-order violated ::engineless < ::nx::Object ok linearization/boat.037: boat nx local-order violated ::nx::BootStrapVariableSlot < ::nx::Object ok linearization/boat.038: boat nx local-order violated ::nx::Class < ::nx::Object ok linearization/boat.039: boat nx local-order violated ::nx::CopyHandler < ::nx::Object ok linearization/boat.040: boat nx local-order violated ::nx::EnsembleObject < ::nx::Object ok linearization/boat.041: boat nx local-order violated ::nx::MetaSlot < ::nx::Object ok linearization/boat.042: boat nx local-order violated ::nx::MethodParameterSlot < ::nx::Object ok linearization/boat.043: boat nx local-order violated ::nx::NsScopedNew < ::nx::Object ok linearization/boat.044: boat nx local-order violated ::nx::Object < ::nx::Object ok linearization/boat.045: boat nx local-order violated ::nx::ObjectParameterSlot < ::nx::Object ok linearization/boat.046: boat nx local-order violated ::nx::RelationSlot < ::nx::Object ok linearization/boat.047: boat nx local-order violated ::nx::Slot < ::nx::Object ok linearization/boat.048: boat nx local-order violated ::nx::VariableSlot < ::nx::Object ok linearization/boat.049: boat nx local-order violated ::nx::test < ::nx::Object ok linearization/boat.050: boat nx local-order violated ::pedalo < ::boat ok linearization/boat.051: boat nx local-order violated ::pedalo < ::dayboat ok linearization/boat.052: boat nx local-order violated ::pedalo < ::engineless ok linearization/boat.053: boat nx local-order violated ::pedalo < ::nx::Object ok linearization/boat.054: boat nx local-order violated ::pedalo < ::pedalo ok linearization/boat.055: boat nx local-order violated ::pedalo < ::pedalwheelboat ok linearization/boat.056: boat nx local-order violated ::pedalo < ::smallcatamaran ok linearization/boat.057: boat nx local-order violated ::pedalo < ::smallmultihull ok linearization/boat.058: boat nx local-order violated ::pedalo < ::wheelboat ok linearization/boat.059: boat nx local-order violated ::pedalwheelboat < ::boat ok linearization/boat.060: boat nx local-order violated ::pedalwheelboat < ::dayboat ok linearization/boat.061: boat nx local-order violated ::pedalwheelboat < ::engineless ok linearization/boat.062: boat nx local-order violated ::pedalwheelboat < ::nx::Object ok linearization/boat.063: boat nx local-order violated ::pedalwheelboat < ::pedalwheelboat ok linearization/boat.064: boat nx local-order violated ::pedalwheelboat < ::wheelboat ok linearization/boat.065: boat nx local-order violated ::smallcatamaran < ::boat ok linearization/boat.066: boat nx local-order violated ::smallcatamaran < ::dayboat ok linearization/boat.067: boat nx local-order violated ::smallcatamaran < ::nx::Object ok linearization/boat.068: boat nx local-order violated ::smallcatamaran < ::smallcatamaran ok linearization/boat.069: boat nx local-order violated ::smallcatamaran < ::smallmultihull ok linearization/boat.070: boat nx local-order violated ::smallmultihull < ::boat ok linearization/boat.071: boat nx local-order violated ::smallmultihull < ::dayboat ok linearization/boat.072: boat nx local-order violated ::smallmultihull < ::nx::Object ok linearization/boat.073: boat nx local-order violated ::smallmultihull < ::smallmultihull ok linearization/boat.074: boat nx local-order violated ::wheelboat < ::boat ok linearization/boat.075: boat nx local-order violated ::wheelboat < ::nx::Object ok linearization/boat.076: boat nx local-order violated ::wheelboat < ::wheelboat ok notice: Running test case: ./tests/linearization.test boat-crash linearization/boat-crash.001: ::smallcatamaran destroy ok linearization/boat-crash.002: ::boat destroy ok linearization/boat-crash.003: ::pedalo info heritage ok linearization/boat-crash.004: ::pedalo destroy ok linearization/boat-crash.005: ::pedalwheelboat info heritage ok Summary: Test-set linearization tests 81 success 81 failure 0 ms 2 TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./tests`/traits.test -libdir `echo ./unix` -testlog ./__test.log notice: Running test case: ./tests/traits.test basics traits/basics.001: c1 foo ok traits/basics.002: C require trait t2 ok traits/basics.003: lsort [C info methods] ok traits/basics.004: lsort [C info methods] ok traits/basics.005: c1 foo ok traits/basics.006: C require trait t2 ok traits/basics.007: lsort [C info methods] ok traits/basics.008: lsort [C info methods -path] ok traits/basics.009: c1 foo ok traits/basics.010: c1 bar x ok traits/basics.011: c1 bar y ok traits/basics.012: C require trait t3 ok traits/basics.013: lsort [C info methods] ok traits/basics.014: lsort [C info methods -path] ok traits/basics.015: c1 foo ok traits/basics.016: c1 bar x ok traits/basics.017: c1 bar y ok traits/basics.018: c1 bar z ok Summary: Test-set traits tests 18 success 18 failure 0 ms 1 TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./tests`/shells.test -libdir `echo ./unix` -testlog ./__test.log notice: Running test case: ./tests/shells.test nxsh shells/nxsh.001: file exists /home/buildozer/aports/community/nsf/src/nsf2.4.0/nxsh ok shells/nxsh.002: file executable /home/buildozer/aports/community/nsf/src/nsf2.4.0/nxsh ok shells/nxsh.003: exec /home/buildozer/aports/community/nsf/src/nsf2.4.0/nxsh << {puts $argc-[join $argv -]; exit} ok shells/nxsh.004: getFirstLine {exec /home/buildozer/aports/community/nsf/src/nsf2.4.0/nxsh NXSCRIPT.tcl << {puts $argc-[join $argv -]; exit}} ok shells/nxsh.005: exec /home/buildozer/aports/community/nsf/src/nsf2.4.0/nxsh -c {puts $argc-[join $argv -]} NXSCRIPT.tcl ok shells/nxsh.006: exec /home/buildozer/aports/community/nsf/src/nsf2.4.0/nxsh -c << {puts $argc-[join $argv -]} ok shells/nxsh.007: exec /home/buildozer/aports/community/nsf/src/nsf2.4.0/nxsh -c {puts $argc-[join $argv -]} a b c ok shells/nxsh.008: getFirstLine {exec /home/buildozer/aports/community/nsf/src/nsf2.4.0/nxsh /tmp/13883} ok shells/nxsh.009: getFirstLine {exec /home/buildozer/aports/community/nsf/src/nsf2.4.0/nxsh /tmp/13883 a b c} ok shells/nxsh.010: file exists /tmp/13883 ok shells/nxsh.011: file writable /tmp/13883 ok shells/nxsh.012: exec /home/buildozer/aports/community/nsf/src/nsf2.4.0/nxsh /tmp/13883 ok shells/nxsh.013: exec /home/buildozer/aports/community/nsf/src/nsf2.4.0/nxsh /tmp/13883 -c yyy a b c ok shells/nxsh.014: exec /usr/bin/tclsh8.6 << {exit 0} ok shells/nxsh.015 hint: we could compare with errorCode: CHILDSTATUS 13898 1 shells/nxsh.015: exec /usr/bin/tclsh8.6 << {exit 1} ok shells/nxsh.016: exec /usr/bin/tclsh8.6 << {package req nx;exit 0} ok shells/nxsh.017 hint: we could compare with errorCode: CHILDSTATUS 13900 1 shells/nxsh.017: exec /usr/bin/tclsh8.6 << {package req nx;exit 1} ok shells/nxsh.018: exec -ignorestderr /usr/bin/tclsh8.6 << {package req nx;nx::Object new {exit 0}} ok shells/nxsh.019 hint: we could compare with errorCode: CHILDSTATUS 13902 1 shells/nxsh.019: exec -ignorestderr /usr/bin/tclsh8.6 << {package req nx;nx::Object new {exit 1}} ok shells/nxsh.020: exec /home/buildozer/aports/community/nsf/src/nsf2.4.0/nxsh -c {exit 0} ok shells/nxsh.021 hint: we could compare with errorCode: CHILDSTATUS 13904 1 shells/nxsh.021: exec /home/buildozer/aports/community/nsf/src/nsf2.4.0/nxsh -c {exit 1} ok shells/nxsh.022 hint: we could compare with errorCode: CHILDSTATUS 13905 2 shells/nxsh.022: exec /home/buildozer/aports/community/nsf/src/nsf2.4.0/nxsh -c {exit 2} ok shells/nxsh.023 hint: we could compare with errorCode: CHILDSTATUS 13906 5 shells/nxsh.023: exec /home/buildozer/aports/community/nsf/src/nsf2.4.0/nxsh -c {exit 5} ok shells/nxsh.024: catch {exec /home/buildozer/aports/community/nsf/src/nsf2.4.0/nxsh -c {exit 5}} ::res ::opts ok shells/nxsh.025: set ::res ok shells/nxsh.026: lindex [dict get $::opts -errorcode] end ok shells/nxsh.027: exec /home/buildozer/aports/community/nsf/src/nsf2.4.0/nxsh -c << {exit 0} ok shells/nxsh.028 hint: we could compare with errorCode: CHILDSTATUS 13909 1 shells/nxsh.028: exec /home/buildozer/aports/community/nsf/src/nsf2.4.0/nxsh -c << {exit 1} ok shells/nxsh.029 hint: we could compare with errorCode: CHILDSTATUS 13910 1 shells/nxsh.029: exec /home/buildozer/aports/community/nsf/src/nsf2.4.0/nxsh -c << {catch {exit 1}} ok shells/nxsh.030 hint: we could compare with errorCode: CHILDSTATUS 13911 1 shells/nxsh.030: exec /home/buildozer/aports/community/nsf/src/nsf2.4.0/nxsh -c << {catch {nx::Object eval {exit 1}}} ok shells/nxsh.031 hint: we could compare with errorCode: CHILDSTATUS 13912 6 shells/nxsh.031: exec /home/buildozer/aports/community/nsf/src/nsf2.4.0/nxsh -c << {nx::Object eval {try { exit 6 } on break {} {;} on return {} {;} on error {} {;} finally {puts finalized}}} ok shells/nxsh.032: exec /home/buildozer/aports/community/nsf/src/nsf2.4.0/nxsh -c << {nx::Object eval {try { error } on break {} {;} on return {} {;} on error {} {;} finally {puts finalized}}} ok exec=/usr/bin/tclsh8.6 Summary: Test-set shells tests 32 success 32 failure 0 ms 569 TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./tests`/msgcat.test -libdir `echo ./unix` -testlog ./__test.log msgcat/test.001: set _ {:: message1} ok msgcat/test.002: [::C new] foo ok msgcat/test.003: ::C bar ok msgcat/test.004: [::C new] cget -baz ok msgcat/test.005: set _ {::foo message2} ok msgcat/test.006: [::foo::C new] foo ok msgcat/test.007: ::foo::C bar ok msgcat/test.008: [::foo::C new] cget -baz ok msgcat/test.009: set _ {::foo::bar message3} ok msgcat/test.010: [::foo::bar::C new] foo ok msgcat/test.011: ::foo::bar::C bar ok msgcat/test.012: [::foo::bar::C new] cget -baz ok msgcat/test.013: ::c baf get ok Summary: Test-set msgcat tests 13 success 13 failure 0 ms 0 TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./doc`/example-scripts/bagel.tcl -libdir `echo ./unix` -testlog ./__test.log bagel/test.001: nx::Class create Bagel ok bagel/test.002: Bagel create abagel ok bagel/test.003: abagel info class ok bagel/test.004: Bagel info instances ok bagel/test.005: Bagel property {toasted 0} ok bagel/test.006: abagel info vars ok bagel/test.007: abagel configure -toasted 0 ok bagel/test.008: abagel info vars ok bagel/test.009: abagel cget -toasted ok bagel/test.010: Bagel create bagel2 ok bagel/test.011: bagel2 info vars ok bagel/test.012: bagel2 cget -toasted ok bagel/test.013: lsort [Bagel info instances] ok bagel/test.014: ::abagel destroy ok bagel/test.015: Bagel info instances ok bagel/test.016: Bagel create abagel ok bagel/test.017: Bagel public method toast {} { if {[incr :toasted] > 1} then { error "something's burning!" } } ok bagel/test.018: Bagel info methods ok bagel/test.019: abagel toast ok bagel/test.020: abagel toast ok bagel/test.021: nx::Class create SpreadableBagel -superclass Bagel { :property -incremental {toppings:0..n ""} } ok bagel/test.022: SpreadableBagel cget -superclass ok bagel/test.023: SpreadableBagel info superclasses ok bagel/test.024: SpreadableBagel info heritage ok bagel/test.025: Bagel public method taste {} { if {${:toasted} == 0} then { return raw! } elseif {${:toasted} == 1} then { return toasty } else { return burnt! } } ok bagel/test.026: SpreadableBagel public method taste {} { set t [next] foreach i ${:toppings} { lappend t $i } return $t } ok bagel/test.027: SpreadableBagel create abagel ok bagel/test.028: abagel toast ok bagel/test.029: abagel toppings add jam ok bagel/test.030: abagel toppings add m&m ok bagel/test.031: abagel taste ok bagel/test.032: nx::Class create Sesame { :public method taste {} {concat [next] "sesame"} } ok bagel/test.033: nx::Class create Onion { :public method taste {} {concat [next] "onion"} } ok bagel/test.034: nx::Class create Poppy { :public method taste {} {concat [next] "poppy"} } ok bagel/test.035: nx::Class create SesameOnionBagel -superclass SpreadableBagel -mixin {Sesame Onion} ok bagel/test.036: SesameOnionBagel create abagel -toppings butter ok bagel/test.037: abagel taste ok bagel/test.038: SesameOnionBagel info heritage ok bagel/test.039: abagel info precedence ok bagel/test.040: nx::Class create Chips { :public method taste {} {return "crunchy"} } ok bagel/test.041: nx::Class create OnionChips -superclass Chips -mixin Onion ok bagel/test.042: OnionChips create abag ok bagel/test.043: abag taste ok Summary: Test-set bagel tests 43 success 43 failure 0 ms 0 TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./doc`/example-scripts/container.tcl -libdir `echo ./unix` -testlog ./__test.log container/test.001: SimpleContainer create container1 -memberClass ::C ok container/test.002: container1 new ok container/test.003: container1 new ok container/test.004: container1 new ok container/test.005: container1 info children ok container/test.006: OrderedContainer create container2 -memberClass ::C ok container/test.007: container2 new ok container/test.008: container2 new ok container/test.009: container2 new ok container/test.010: container2 items get ok container/test.011: container2 delete ::container2::member2 ok container/test.012: container2 items get ok container/test.013: container3 new -name victor ok container/test.014: container3 new -name stefan ok container/test.015: container3 new -name gustaf ok container/test.016: container3 items get ok container/test.017: container3 index ok container/test.018: container3 delete ::container3::member2 ok container/test.019: container3 items get ok container/test.020: container3 index ok Summary: Test-set container tests 20 success 20 failure 0 ms 0 TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./doc`/example-scripts/rosetta-abstract-type.tcl -libdir `echo ./unix` -testlog ./__test.log rosetta-abstract-type/test.001: AbstractQueue new ok rosetta-abstract-type/test.002: set q [ListQueue new] ok rosetta-abstract-type/test.003: $q enqueue 100 ok rosetta-abstract-type/test.004: $q enqueue 101 ok rosetta-abstract-type/test.005: $q dequeue ok Summary: Test-set rosetta-abstract-type tests 5 success 5 failure 0 ms 1 TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./doc`/example-scripts/rosetta-classes.tcl -libdir `echo ./unix` -testlog ./__test.log rosetta-classes/test.001: set sum [summation new] ok rosetta-classes/test.002: $sum value ok rosetta-classes/test.003: $sum add 1 ok rosetta-classes/test.004: $sum add 2 ok rosetta-classes/test.005: $sum add 3 ok rosetta-classes/test.006: $sum add 4 ok rosetta-classes/test.007: $sum value ok ended with value 10 rosetta-classes/test.008: $sum destroy ok Summary: Test-set rosetta-classes tests 8 success 8 failure 0 ms 0 TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./doc`/example-scripts/rosetta-constraint-genericity.tcl -libdir `echo ./unix` -testlog ./__test.log rosetta-constraint-genericity/test.001: set f1 [Fish new -name "Wanda"] ok rosetta-constraint-genericity/test.002: set f2 [Fish new -name "Nemo"] ok rosetta-constraint-genericity/test.003: set fb [FoodBox new] ok rosetta-constraint-genericity/test.004: $fb item add $f1 ok rosetta-constraint-genericity/test.005: $fb item add $f2 ok rosetta-constraint-genericity/test.006: $fb print ok Summary: Test-set rosetta-constraint-genericity tests 6 success 6 failure 0 ms 1 TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./doc`/example-scripts/rosetta-delegates.tcl -libdir `echo ./unix` -testlog ./__test.log rosetta-delegates/test.001: set a [Delegator new] ok rosetta-delegates/test.002: $a operation ok rosetta-delegates/test.003: $a configure -delegatee [Delegatee new] ok rosetta-delegates/test.004: $a operation ok Summary: Test-set rosetta-delegates tests 4 success 4 failure 0 ms 0 TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./doc`/example-scripts/rosetta-polymorphism.tcl -libdir `echo ./unix` -testlog ./__test.log rosetta-polymorphism/test.001: set p [Point new -x 1.0 -y 2.0] ok rosetta-polymorphism/test.002: $p print ok rosetta-polymorphism/test.003: $p cget -x ok rosetta-polymorphism/test.004: set c [Circle new -x 3.0 -y 4.0 -radius 5.0] ok rosetta-polymorphism/test.005: set d [$c copy] ok rosetta-polymorphism/test.006: $d configure -radius 1.5 ok rosetta-polymorphism/test.007: $c print ok rosetta-polymorphism/test.008: $d print ok Summary: Test-set rosetta-polymorphism tests 8 success 8 failure 0 ms 0 TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./doc`/example-scripts/rosetta-serialization.tcl -libdir `echo ./unix` -testlog ./__test.log rosetta-serialization/test.001: Animal new -name "Fido" ok rosetta-serialization/test.002: Animal new -name "Lupo" ok rosetta-serialization/test.003: Animal new -name "Kiki" -alive false ok i am Fido alive true i am Kiki alive false i am Lupo alive true rosetta-serialization/test.004: foreach i [Animal info instances] { $i print } ok rosetta-serialization/test.005: foreach i [Animal info instances] { puts $f [$i serialize] } ok rosetta-serialization/test.006: close $f ok rosetta-serialization/test.007: foreach i [Animal info instances] { $i destroy } ok =========== rosetta-serialization/test.008: puts =========== ok rosetta-serialization/test.009: foreach i [Animal info instances] { $i print } ok =========== rosetta-serialization/test.010: puts =========== ok rosetta-serialization/test.011: source $fpath ok i am Fido alive true i am Lupo alive true i am Kiki alive false rosetta-serialization/test.012: foreach i [Animal info instances] { $i print } ok Summary: Test-set rosetta-serialization tests 12 success 12 failure 0 ms 1 TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./doc`/example-scripts/rosetta-singleton.tcl -libdir `echo ./unix` -testlog ./__test.log rosetta-singleton/test.001: expr {[Singleton new] eq [Singleton new]} ok rosetta-singleton/test.002: Singleton create Counter ok rosetta-singleton/test.003: expr {[Counter new] eq [Counter new]} ok Summary: Test-set rosetta-singleton tests 3 success 3 failure 0 ms 0 TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./doc`/example-scripts/rosetta-unknown-method.tcl -libdir `echo ./unix` -testlog ./__test.log rosetta-unknown-method/test.001: set e [Example new] ok rosetta-unknown-method/test.002: $e foo ok rosetta-unknown-method/test.003: $e bar ok rosetta-unknown-method/test.004: $e grill ok rosetta-unknown-method/test.005: $e ding dong ok Summary: Test-set rosetta-unknown-method tests 5 success 5 failure 0 ms 0 TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./doc`/example-scripts/ruby-mixins.tcl -libdir `echo ./unix` -testlog ./__test.log ruby-mixins/test.001: Group create g1 -members {mini trix trax} ok ruby-mixins/test.002: g1 info precedence ok ruby-mixins/test.003: g1 count ok ruby-mixins/test.004: g1 map x {list pre-$x-post} ok ruby-mixins/test.005: g1 count_if x {[string match tr*x $x] > 0} ok ruby-mixins/test.006: g1 object mixins set Mix ok ruby-mixins/test.007: g1 info precedence ok ruby-mixins/test.008: g1 count ok ruby-mixins/test.009: g1 object mixins set "" ok ruby-mixins/test.010: g1 info precedence ok ruby-mixins/test.011: ATeam create t1 -members {arthur bill chuck} ok ruby-mixins/test.012: t1 info precedence ok ruby-mixins/test.013: t1 foo ok ruby-mixins/test.014: SpecialForce create s1 -members {Donald Micky Daniel Gustav} ok ruby-mixins/test.015: s1 info precedence ok ruby-mixins/test.016: s1 foo ok ruby-mixins/test.017: ATeam mixins set Mix ok ruby-mixins/test.018: s1 info precedence ok ruby-mixins/test.019: s1 count ok Summary: Test-set ruby-mixins tests 19 success 19 failure 0 ms 0 TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./doc`/example-scripts/traits-composite.tcl -libdir `echo ./unix` -testlog ./__test.log traits-composite/test.001: r1 atStart ok traits-composite/test.002: r1 atEnd ok traits-composite/test.003: r1 next ok traits-composite/test.004: r1 next ok Summary: Test-set traits-composite tests 4 success 4 failure 0 ms 0 TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./doc`/example-scripts/traits-simple.tcl -libdir `echo ./unix` -testlog ./__test.log traits-simple/test.001: r1 atStart ok traits-simple/test.002: r1 atEnd ok traits-simple/test.003: r1 next ok traits-simple/test.004: r1 next ok Summary: Test-set traits-simple tests 4 success 4 failure 0 ms 0 TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./doc`/example-scripts/rosetta-tokenizer.tcl -libdir `echo ./unix` -testlog ./__test.log rosetta-tokenizer/test.001: Tokenizer tokenize -sep | -escape ^ ^| ok rosetta-tokenizer/test.002: Tokenizer tokenize -sep | -escape ^ ^|^| ok rosetta-tokenizer/test.003: Tokenizer tokenize -sep | -escape ^ ^^^| ok rosetta-tokenizer/test.004: Tokenizer tokenize -sep | -escape ^ | ok rosetta-tokenizer/test.005: Tokenizer tokenize -sep | -escape ^ one^|uno||three^^^^|four^^^|^cuatro| ok Summary: Test-set rosetta-tokenizer tests 5 success 5 failure 0 ms 1 TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./doc`/example-scripts/rosetta-tree.tcl -libdir `echo ./unix` -testlog ./__test.log rosetta-tree/test.001: $t traverse preOrder ok rosetta-tree/test.002: $t traverse inOrder ok rosetta-tree/test.003: $t traverse postOrder ok rosetta-tree/test.004: $t traverse levelOrder ok Summary: Test-set rosetta-tree tests 4 success 4 failure 0 ms 1 TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./doc`/example-scripts/rosetta-multiple-distinct.tcl -libdir `echo ./unix` -testlog ./__test.log rosetta-multiple-distinct/test.001: llength [Foo info instances] ok rosetta-multiple-distinct/test.002: llength [Foo info instances] ok rosetta-multiple-distinct/test.003: llength [lsort -unique $theList] ok rosetta-multiple-distinct/test.004: llength [Foo info instances] ok rosetta-multiple-distinct/test.005: llength [Foo info instances] ok rosetta-multiple-distinct/test.006: llength [lsort -unique $theList] ok Summary: Test-set rosetta-multiple-distinct tests 6 success 6 failure 0 ms 0 TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./doc`/example-scripts/rosetta-add-variable.tcl -libdir `echo ./unix` -testlog ./__test.log rosetta-add-variable/test.001: ::e info vars ok rosetta-add-variable/test.002: ::e foo set 1 ok rosetta-add-variable/test.003: ::e info vars ok rosetta-add-variable/test.004: ::e foo get ok rosetta-add-variable/test.005: ::f info vars ok rosetta-add-variable/test.006: ::f foo set ok rosetta-add-variable/test.007: ::f info object variables foo ok rosetta-add-variable/test.008: ::e info object variables foo ok rosetta-add-variable/test.009: ::e info vars ok rosetta-add-variable/test.010: ::e foo get ok Summary: Test-set rosetta-add-variable tests 10 success 10 failure 0 ms 0 TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./doc`/example-scripts/rosetta-clone.tcl -libdir `echo ./unix` -testlog ./__test.log rosetta-clone/test.001: $t label get ok rosetta-clone/test.002: $s label get ok rosetta-clone/test.003: expr {$t2 ne $t} ok rosetta-clone/test.004: expr {$s2 ne $s} ok rosetta-clone/test.005: $t info class ok rosetta-clone/test.006: $t2 info class ok rosetta-clone/test.007: $s info class ok rosetta-clone/test.008: $s2 info class ok rosetta-clone/test.009: $t label get ok rosetta-clone/test.010: $t2 label get ok rosetta-clone/test.011: $s label get ok rosetta-clone/test.012: $s2 label get ok Summary: Test-set rosetta-clone tests 12 success 12 failure 0 ms 0 TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./doc`/example-scripts/rosetta-multiple-inheritance.tcl -libdir `echo ./unix` -testlog ./__test.log rosetta-multiple-inheritance/test.001: CameraPhone info superclasses -closure ok rosetta-multiple-inheritance/test.002: [CameraPhone new] info precedence ok rosetta-multiple-inheritance/test.003: CameraPhone info mixins ok rosetta-multiple-inheritance/test.004: [CameraPhone new] info precedence ok Summary: Test-set rosetta-multiple-inheritance tests 4 success 4 failure 0 ms 0 TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./doc`/example-scripts/rosetta-single-inheritance.tcl -libdir `echo ./unix` -testlog ./__test.log rosetta-single-inheritance/test.001: Lab info superclasses -closure ok rosetta-single-inheritance/test.002: [Collie new] info precedence ok Summary: Test-set rosetta-single-inheritance tests 2 success 2 failure 0 ms 0 Regression Test Summary of NX+XOTcl: Environment: Tcl 8.6.14, OS Linux 5.15.134-0-lts machine s390x threaded 1. NSF 2.4.0 (commit 2.3.0-248-ge733b10d-dirty) performed 6488 tests in 57 files, success 6488, failures 0 in 6.297 seconds Congratulations, all tests of NX+XOTcl passed in your installation of NSF 2.4.0 (commit 2.3.0-248-ge733b10d-dirty) >>> nsf: Entering fakeroot... /bin/sh ./tclconfig/install-sh -c libnsf2.4.0.so /home/buildozer/aports/community/nsf/pkg/nsf/usr/lib/nsf2.4.0/libnsf2.4.0.so : /home/buildozer/aports/community/nsf/pkg/nsf/usr/lib/nsf2.4.0/libnsf2.4.0.so /bin/sh ./tclconfig/install-sh -c libnsfstub2.4.0.a /home/buildozer/aports/community/nsf/pkg/nsf/usr/lib/nsf2.4.0/libnsfstub2.4.0.a ranlib /home/buildozer/aports/community/nsf/pkg/nsf/usr/lib/nsf2.4.0/libnsfstub2.4.0.a TCL_LIBRARY=`echo /usr/src/tcl8.6.14/library` LD_LIBRARY_PATH=":/usr/lib:/usr/lib:/usr/lib64/libfakeroot:/usr/lib32/libfakeroot" PATH=":/usr/lib:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" TCLLIBPATH=" . " TCL_PKG_PREFER_LATEST=1 /usr/bin/tclsh8.6 `echo ./library`/lib/mkIndex.tcl -dir `echo ./library` Appending pkgIndex-package.add to pkgIndex.tcl in /home/buildozer/aports/community/nsf/src/nsf2.4.0/library/xotcl/library/lib Appending pkgIndex.add to pkgIndex.tcl in /home/buildozer/aports/community/nsf/src/nsf2.4.0/library/mongodb Appending nx-callback.add to pkgIndex.tcl in /home/buildozer/aports/community/nsf/src/nsf2.4.0/library/lib Installing header files in /home/buildozer/aports/community/nsf/pkg/nsf/usr/include Installing generic/nsf.h Installing generic/nsfInt.h Installing generic/stubs8.6/nsfDecls.h Installing generic/stubs8.6/nsfIntDecls.h Installing Libraries to /home/buildozer/aports/community/nsf/pkg/nsf/usr/lib/nsf2.4.0/ Installing lib/ Installing nx/ Installing serialize/ Installing COPYRIGHT Installing pkgIndex.tcl Adding to pkgIndex.tcl for nsf in /home/buildozer/aports/community/nsf/pkg/nsf/usr/lib/nsf2.4.0/pkgIndex.tcl Installing documentation in /home/buildozer/aports/community/nsf/pkg/nsf/usr/share/man Installing ./doc/nxsh.1 Installing ./doc/nxwish.1 Installing ./doc/xotclsh.1 Installing ./doc/xowish.1 Installing ./doc/Class.3 Installing ./doc/Object.3 Installing ./doc/configure.3 Installing ./doc/current.3 Installing ./doc/next.3 Installing XOTcl Libraries to /home/buildozer/aports/community/nsf/pkg/nsf/usr/lib/nsf2.4.0/xotcl/ Installing library comm/ Installing library lib/ Installing library serialize/ Installing COPYRIGHT Installing xotcl2.tcl Installing pkgIndex.tcl '/home/buildozer/aports/community/nsf/pkg/nsf/usr/lib/nsf2.4.0/COPYRIGHT' -> '/home/buildozer/aports/community/nsf/pkg/nsf/usr/share/licenses/nsf/COPYRIGHT' '/home/buildozer/aports/community/nsf/pkg/nsf/usr/share/man/man3/next.3' -> '/home/buildozer/aports/community/nsf/pkg/nsf/usr/share/man/man3/next.3nx' '/home/buildozer/aports/community/nsf/pkg/nsf/usr/share/man/man3/Object.3' -> '/home/buildozer/aports/community/nsf/pkg/nsf/usr/share/man/man3/Object.3nx' '/home/buildozer/aports/community/nsf/pkg/nsf/usr/share/man/man3/Class.3' -> '/home/buildozer/aports/community/nsf/pkg/nsf/usr/share/man/man3/Class.3nx' '/home/buildozer/aports/community/nsf/pkg/nsf/usr/share/man/man3/current.3' -> '/home/buildozer/aports/community/nsf/pkg/nsf/usr/share/man/man3/current.3nx' '/home/buildozer/aports/community/nsf/pkg/nsf/usr/share/man/man3/configure.3' -> '/home/buildozer/aports/community/nsf/pkg/nsf/usr/share/man/man3/configure.3nx' >>> nsf-dev*: Running split function dev... '/home/buildozer/aports/community/nsf/pkg/nsf/usr/lib/nsfConfig.sh' -> '/home/buildozer/aports/community/nsf/pkg/nsf-dev/usr/lib/nsfConfig.sh' >>> nsf-dev*: Preparing subpackage nsf-dev... >>> nsf-dev*: Stripping binaries >>> nsf-dev*: Running postcheck for nsf-dev >>> nsf-doc*: Running split function doc... >>> nsf-doc*: Preparing subpackage nsf-doc... >>> nsf-doc*: Running postcheck for nsf-doc >>> nsf-tk*: Running split function tk... '/home/buildozer/aports/community/nsf/pkg/nsf/usr/bin/nxwish' -> '/home/buildozer/aports/community/nsf/pkg/nsf-tk/usr/bin/nxwish' '/home/buildozer/aports/community/nsf/pkg/nsf/usr/bin/xowish' -> '/home/buildozer/aports/community/nsf/pkg/nsf-tk/usr/bin/xowish' >>> nsf-tk*: Preparing subpackage nsf-tk... >>> nsf-tk*: Running postcheck for nsf-tk >>> nsf*: Running postcheck for nsf >>> nsf*: Preparing package nsf... >>> nsf*: Stripping binaries >>> nsf-dev*: Scanning shared objects >>> nsf-doc*: Scanning shared objects >>> nsf-tk*: Scanning shared objects >>> nsf*: Scanning shared objects >>> nsf-dev*: Tracing dependencies... nsf=2.4.0-r0 >>> nsf-dev*: Package size: 108.0 KB >>> nsf-dev*: Compressing data... >>> nsf-dev*: Create checksum... >>> nsf-dev*: Create nsf-dev-2.4.0-r0.apk >>> nsf-doc*: Tracing dependencies... >>> nsf-doc*: Package size: 100.0 KB >>> nsf-doc*: Compressing data... >>> nsf-doc*: Create checksum... >>> nsf-doc*: Create nsf-doc-2.4.0-r0.apk >>> nsf-tk*: Tracing dependencies... >>> nsf-tk*: Package size: 20.0 KB >>> nsf-tk*: Compressing data... >>> nsf-tk*: Create checksum... >>> nsf-tk*: Create nsf-tk-2.4.0-r0.apk >>> nsf*: Tracing dependencies... tcl so:libc.musl-s390x.so.1 >>> nsf*: Package size: 1.0 MB >>> nsf*: Compressing data... >>> nsf*: Create checksum... >>> nsf*: Create nsf-2.4.0-r0.apk >>> nsf: Build complete at Fri, 26 Apr 2024 16:14:17 +0000 elapsed time 0h 0m 26s >>> nsf: Cleaning up srcdir >>> nsf: Cleaning up pkgdir >>> nsf: Uninstalling dependencies... (1/5) Purging .makedepends-nsf (20240426.161357) (2/5) Purging tcl-dev (8.6.14-r0) (3/5) Purging tcl (8.6.14-r0) (4/5) Purging tzdata (2024a-r1) (5/5) Purging zlib-dev (1.3.1-r1) Executing busybox-1.36.1-r26.trigger OK: 435 MiB in 106 packages >>> nsf: Updating the community/s390x repository index... >>> nsf: Signing the index...