tests

Clone Tools
  • last updated 21 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- moved xotcl-1.* definition into an own library file - renamed library/lib/changeXOTclVersion.xotcl to library/lib/changeXOTclVersion to ease pkgIndex generation - new function "xotcl::use xotcl1" or "xotcl::use xotcl2" to ease switching between xotcl 1 and 2 - changed library/lib/test to xotcl2 - added for all regression test "xotcl::use xotcl1" instead of "namespace import ::xotcl::*"

  1. … 18 more files in changeset.
- added non-positional argument "-object" to ::xotcl::instvar - removed all dependencies to the method "instvar" in predefined - defined "abstract" for xotcl2 similar to classical xotcl1 - simplified exit handlers - use of proc-aliases in predefined - simplefied predefined a little

  1. … 5 more files in changeset.
- solved contains aliasing problem by defining a separate "conains" for ::xotcl::Object - make the serializer less object system dependent - make slottest regression test work with xotcl2 objects

  1. … 3 more files in changeset.
- make volatile work with object frames - fix typo in error message

  1. … 2 more files in changeset.
- change slots to xotcl2 Objects and Classes

  1. … 2 more files in changeset.
- provide explicit unknown handler - fix cases, where unknown hander was unknown

  1. … 3 more files in changeset.
- supporting "per-object" for alias - extending regression test

  1. … 1 more file in changeset.
- change "setvalues" to "residualargs"

  1. … 4 more files in changeset.
- DotCmdResolver() with XOTclDotCmd() only lookups within XOTCL_METHOD_FRAMES to minimize interactions supports efficient method-lookup via notation {.method in method bodies} - extended regression tests

  1. … 4 more files in changeset.
- factor out VarHashTableCreate() and CompiledLocalsLookup() - new debug flag VAR_RESOLVER_TRACE - new varResolver DotVarResolver(): catches variable names starting with a ".", only lookups within XOTCL_METHOD_FRAMES to minimize interactions - don't clobber from guard calls for 8.5 and earlier as well - extended regression tests

  1. … 2 more files in changeset.
- made compiledlocal handler more robust - added regression tests for compiled local handler

  1. … 1 more file in changeset.
- provide propagation of errors from mixin guards (in earlier XOTcl versions, these were silently ignored) - don't clobber from guard calls - added new regression tests for mixin and filter guards called via next and trigger errors - fix result code handling for tcl 8.6 - fix tcl stack allocs/deallocs for tcl 8.6 - new debug flag TCL_STACK_ALLOC_TRACE - improve comments - new function CmdIsProc() to handle different behavior of TclIsProc() in 8.6 - passing regression test with tcl 8.6

  1. … 3 more files in changeset.
- more work on 8.6b1: xotcl 2.0 boots now - fixed a few regression tests for 8.6 TclIsProc((Command*)cmd) not equiv to (Tcl_Command_objProc(cmd) == TclObjInterpProc) - not all regression tests run yet - make sure to run " make clean;configure;make genstubs" to compile under 8.5

  1. … 10 more files in changeset.
- made create statments in xoDoc and loaded packages explicit - added tests/protected.xotcl

    • -0
    • +108
    ./protected.xotcl
  1. … 8 more files in changeset.
- changed interface of ::xotcl::methodproperty to be used as well for introspection

- added ::xotcl::methodproperty ... static

We have now

* call-protection via methodproperty "protected"

* overwrite-protection via methodproperty "static"

Static methods can be deleted, but not overwritten (accidentially)

- added flag "-protected" to "method" for call-protected methods

- added checks for overwrite-protection to tcl implemented methods.

aliases, forwarder, and parametercmds

- removed "classscopedinstproc" (use "method -inner-namespace" instead)

- removed C-implemented unknown handler for ::xotcl::Class

and replaced by a Tcl-implemented one (should move into

compatibility library)

- removed XOTclAddPMethod() (use XOTclAddObjectMethod instead)

- removed XOTclAddIMethod() (use XOTclAddInstanceMethod instead)

- generalized MakeObjectMethod() and MakeClassMethod() into MakeProc()

- removed compile-flag NAMESPACEINSTPROCS and AUTOVARS

- removed defines for isClassString, isDoubleDashString, isAllocString,

isDeallocString, isDestroyString

  1. … 10 more files in changeset.
- implementing "method" instead of "proc" and "instproc" on the C level

  1. … 6 more files in changeset.
- removed c-level support for the following methods and provide emulation on the script level isobject, isclass, ismetaclass, ismixin istype

  1. … 5 more files in changeset.
- provided parameter definitions for XOTclInterpObjCmd()

  1. … 3 more files in changeset.
- implemented -objscope for ::xotcl::dispatch - debugged and added tests for XOTclDispatchCmd()

  1. … 3 more files in changeset.
- first implementation of application specific checkers - changed XOTclDispatchCmd to parameter interface (testing and adjustment outstanding) - reactivated XOTclOSetMethod, since one test in regression test caused troubles for still unknown reasons

  1. … 7 more files in changeset.
- drop XOTclOSetvaluesMethod(), use alias for "set" instead of it - implement parameter option "optional" for positional parameters - extend regression test

  1. … 7 more files in changeset.
- handling of aliased objects, when the target objects are destroyed (realized via refcounting on objects) - distinguishing between nested and aliased objects in cmd table during deletion - extended regression test

  1. … 1 more file in changeset.
- simplified and more regular method lookup interface - "info params" and "info instparams" work now as well with C-implemented methods (e.g. Class info instparams instproc)

  1. … 2 more files in changeset.
- passing disallowed options to ParamParse() to disallow e.g. parameter option "relation" for method parameter

  1. … 2 more files in changeset.
- new function: ParamDefsList(), - extended ListParams() to work with and without parameter definitions

- deleted following functions:

AppendOrdinaryArgsFromNonposArgs(),

GetProcDefault(),

ListArgsFromOrdinaryArgs(),

ListDefaultFromOrdinaryArgs(),

ListProcArgs()

ListProcDefault(),

SetProcDefault(),

XOTclClassInfoInstargsMethod(),

XOTclClassInfoInstdefaultMethod(),

XOTclClassInfoInstnonposargsMethod(),

XOTclObjInfoArgsMethod(),

XOTclObjInfoDefaultMethod(),

XOTclObjInfoNonposargsMethod(),

checkRequiredValue(),

evalValueIfNeeded(),

setDefaultValue()

- provided backward compatibility on tcl level (currently in predefined, should be moved into library)

  1. … 5 more files in changeset.
- 2 new info methods: "info params", "info instparams" as replacement for old diversity - ParamDefsFormat() returns now pos and nonpos parameters, reports "initcmd" and "substdefault"

  1. … 3 more files in changeset.
- improve variable name

  1. … 2 more files in changeset.
- remove debug output

- shortend some function/type names (e.g. use everywhere "Param" instead of "Parameter") - delayed parseContextRelease() in InvokeProc() until end if proc - process all argumens of proc/instpoc; before, this happend only, when nonpos parameters were used; - use parameter definitions only when they provide a value-add - finish freeing of parameter definitions

  1. … 7 more files in changeset.
- passing obj to ArgumentParse() to get the object-context and to be able to produce nicer error messages - pass pushFrame to ProcessMethodArguments() to signal, whether stack frame was already pushed or not - deactivated check for {$} in objectparameter (for activating substdefault) - fixed class converter, which was to liberal - extended objparametertest for substdefault and some types

  1. … 5 more files in changeset.