interp.test

Clone Tools
  • last updated 23 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- generic/nsf.c: For "tolerating" hidden objects, I verified the various occurrences of conitional branching based on the cmd's epoch counter. While most occurrences are not concerned (cmds of nested objects, or simply non-object commands), I identified three relevant spots: a) In NsfProcAliasMethod(), invalidating and rebinding the alias target command (including hidden objects as alias pointers) is based on the epoch counter; b) in MixinSearchProc() the lookup of mixed-in methods is affected; c) using CmdListRemoveEpoched() (as the name says), "deleted" commands are identified by looking at the cmd epoch and sorted out from mixin lists computed for precedence lists. I corrected cases b) and c), with the fixes being covered by accompanying tests; a) turned out to be consistent with alias rebinding behaviour for [rename]. While we could correct a) for hidden cmd awareness, this would have to be done for the likeminded alias + [rename] as well. - generic/nsf.c: Renamed CmdListRemoveEpoched() to CmdListRemoveDeleted() - tests/interp.test: Added tests on b) and c), as well as hiding globally namespaced procs and objects as alias targets (merely for documenting the behaviour).

  1. … 1 more file in changeset.
- deactivated a few tests for the time being for tcl 8.6

  1. … 1 more file in changeset.
- generic/nsf.c: [current calledclass] used to return a literal "NULL" for cases of no active callstacked class. I fixed this, with [current calledclass] now reporting an empty string in these cases. - library/lib/test.tcl: Adjusted the explanations along the exit/return fix - tests/introspection.test: Added some basic testing of [current calledclass]

  1. … 3 more files in changeset.
* added flag "-keepvars" to nsf::finalize for handling cases in interp.test * reactivated tests and simplified in interp.test

  1. … 4 more files in changeset.
- nsf.c: * change mem-count statistics from per-interp to per-thread * generalized GetObjectFromCmdTable() to ReverseLookupCmdFromCmdTable() * changed GetObjectScreenedByCmdName() to GetHiddenObjectFromCmd() * modularized interp.test to locate potential problems faster * partly simplified interp.test syntactically * deacivated a few tests in interp.test for the time being (runs commands after finalize)

  1. … 3 more files in changeset.
- generic/nsf.c: After several takes, adding support for basic handling of hidden and re-exposed objects in the sense of [interp hidden|hide|expose]. I wanted to make sure that NSF does not crash upon basic hiding/exposing operations (see tests/interp.test) and guarantees that hidden/re-exposed objects are properly handled when cleaning up object systems, i.e., the destructors are called and physical deletion is performed. [interp hidden|hide|expose] is challenging for NSF (as well as TclOO) because they way it is implementing effectively modifyies command names *without* providing any calling back to trace these changes (as for renames). As a consequence, object and command names start to diverge once an object has been hidden or re-exposed. As the changes affect the cleanup machinery in ObjectSystemsCleanup() & friends, I verified for leaks by running valgrind; no leaks were found running destroy.test and interp.test. - tests/interp.test: A test suite that covers basic scenarios of hiding and exposing objects. - Makefile.in: Registering interp.test with make env

  1. … 2 more files in changeset.