tests

Clone Tools
  • last updated 9 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- Added exerpimental object property "allowmethoddispatch" for child-objects to be called from parent objects via method interface. Background: both, per-object methods and childobjects are implemented via cmds in the same tcl namespace. Without special care, both are callable via the standard dispatch. Apparently, this is not always wanted. - handled allowmethoddispatch and keepcallerself in copy/move - set allowmethoddispatch per-default in XOTcl - removed visablilty of objects with "allowmethoddispatch" false in "info methods" and "info search methods" - extended regression test

  1. … 7 more files in changeset.
remove namespace import nx::*

- removed TODOs from keepcallerself in destroy.test; calls were truely recursive, behavior was correct.

  1. … 1 more file in changeset.
- simplified usage of ObjectName() and ClassName() macros (no caller parenthesis needed) - added exerpimental object property keepcaller self (currently only evaluated by aliased objects)

  1. … 7 more files in changeset.
- generic/nsf.c: Have NsfNSCopyCmdsCmd() handle "returns" method properties for scripted methods. Note that aliases and forwards are not yet covered by the copying procedure as implemented by NsfNSCopyCmdsCmd(). - tests/info-method.test: Added tests for "info method returns" and "info method defintion" covering "returns" method properties.

  1. … 1 more file in changeset.
- tests/destroy.test: I added some tests on the robustness regarding unset traces being fired during the phyical OS delete phase. Checked with NSF_MEM_COUNT and valgrind.

- fix typos - extend regression test to improve coverage

  1. … 1 more file in changeset.
nsf.c: - change argument of IsMetaClass() to type *NsfObject - provide basic pretection against most likely unintended deletion/overwriting of base classes. - extend regression test

  1. … 2 more files in changeset.
- minor cleanup, added regression test

  1. … 2 more files in changeset.
nsf.c: - Reform of subclass/superclass handling. * unifying transitive subclass handling * localizing and documenting caching of subclass/superclass lists * eliminating repetitious computation of subclass lists * refactored code, renamed some functions to better refelect their purpose * improved documentation - fixed a potential crash for class deletion triggering implicit deletions further deletions referencing the parent class - extended regression test

  1. … 2 more files in changeset.
- Avoid duplicate entries in instance lists for diamond inheritance by maintaining the set of already processed entries in NsfClassInfoInstancesMethod1() and GetAllInstances(). - extended regression test - removed "namespace import" in objectsystem test

  1. … 2 more files in changeset.
- generic/nsf.c: DispatchUnknownMethod() In the re-entrant case, the unknown dispatcher was too greedy by skipping the first element in the objv at basically all times. For CallConfigureMethod() case in XOTcl2, the actual method name was so skipped. Generally speaking, the "skipping rules" in DispatchUnknownMethod() feel a touch too particular to me: For instance, the dispatch flag "-local", "-system" etc. must be handled. Also, unknowns in method ensembles have the unknown method listed first in objv. Alternatively, we might review how objc/objv make it into DispatchUnknownMethod() (there are just two call sites). But this would merely shift/spread the skipping. Changing the arg vectors, to begin with, (e.g. removing "-local", "-system", etc. from the objv) would requiring rebuilding the arg vector. - tests/parameters.test: Added a simplistic test case to catch the error reporting for XOTcl 2's residualargs handling.

  1. … 1 more file in changeset.
* xotcl.c: some c-cleanup * library files: require exact version numbers to avoid conflicts with XOTcl 2.0

  1. … 8 more files in changeset.
nsf.c: - added method NsfMethodNamePath() to compute the ensemble path in error messages - reduce verbosity - extended regression test

  1. … 4 more files in changeset.
- fixed bug with recursive aliases - extended regression test

  1. … 2 more files in changeset.
- make sure to use "XOTcl 2.0" instead of just XOTcl in "package req" to avoid confusions due to beta state - remove more obsolete and untested files

  1. … 50 more files in changeset.
- rename "info method handle /methodName/" into "info method registrationhandle /methodName/" - rename "info method origin /methodName/" into "info method definitionhandle /methodName/" - added "info method origin" to return the target of an alias (or empty)

  1. … 11 more files in changeset.
- nx.tcl: simplified ::nx::ScopedNew to ::nx::NsScopedNew: before it was necessary to create a new volatile class for every invocaton of contains. - extended regression test

  1. … 2 more files in changeset.
- altered default handling to honor side effects of aliased object parameters. This slows down evaluation a little. Side-effects from aliased parameters are discouraged, since the order of the evaluation should not matter of an declarative evaluation of the argument vector. - extended regression test

  1. … 2 more files in changeset.
- nsf.c: * add flags "-closure" and "-source" to "/cls/ info methods" (the cases for "/obj/ info methods" are already covered by "/obj/ info lookup methods") * extend regression test

  1. … 4 more files in changeset.
- nx.tcl: * do not namespace import my into ::nx * replace usages of "my" by colon invocations

  1. … 1 more file in changeset.
- library/lib/nxdoc-core.tcl: Major refactoring accomplished: Managed to refactor the validation code into a separate module, obtain a better separation between the backend implementations, ... Relocate the validate() method implementations into the Validator mixin layer. Validation (the validate cascade) is now triggered from within the mixin layer ... further improves the separation of concerns in nxdoc ... Also, moved frontend code into two distinct Tcl packages: We now distinguish between the DC ("Documentation Comments") and the XODoc frontends. I also remastered the entire frontend handling and disentangled the various concerns: specifying documentation sources, 1st- and 2nd pass handling, etc. - Support for document multiple Tcl packages per NXDoc project. Multi-package support, plus validation mode for packages, adding missing files to the repo - tests/doc.test: General cleanup, deactivated some tests for the time being (till the DC interface settles) - library/lib/nxdoc-core.tcl: Removed dead comments and dead codex - YUIDoc template suite: Added Monikas recent adaptations/extensions. I still have to check the resource paths for the xowiki backend, which are most probably broken for now. - Adjusted TODO for accomplished tasks.

  1. … 21 more files in changeset.
nonleadingdash handling: - doc: added "nonleadingdash" to UML class diagramm - nsf.c: added error message, when "noleadingdash" is used on non-positional parameters - nsf.c: use same logic for "nonleadingdash" to "value in argument" - nsf.c: deactivated rudimentary unknown handler for the time being - nx.tcl: added handling of parameter option "noleadingdash" in objectParameterSlots

  1. … 4 more files in changeset.
tests: - added "package prefer latest" to avoid confusions of alpha and beta releases with install versions

  1. … 10 more files in changeset.
nsf.c: - new cmd for debugging: nsf::__db_show_obj - added MethodDupInternalRep() and FlagDupInternalRep() since they appear to be required in Tcl 8.6b2.

  1. … 6 more files in changeset.
- experimentation version of unknown handler for non-pos args - extending regression test

  1. … 6 more files in changeset.
- nsf.c - added experimental parameter option noleadingdash - additionalal regression test file method-parameter.test - provide selective error messages for unknown nonpos args

    • -0
    • +76
    ./method-parameter.test
  1. … 8 more files in changeset.
- remove "namespace import ::nx::*"

- added minimal regression tests for argument parsing to object-system test

- nsf.c: make ":" a full equivalent vor nsf::my (i.e. support -local, -system and -intrinsic) - extend regression test

  1. … 2 more files in changeset.