tests

Clone Tools
  • last updated 12 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- enforce usage of "get" for all slots in nx - TODO: check, what in detail "parameter" in xtocl2 inherit from nx::variableslot (e.g. needsForwarder?)

  1. … 2 more files in changeset.
- enforce using "set" for filter/object-filter in slot operations (same as for mixins)

  1. … 1 more file in changeset.
nx.tcl: - remove setter methods from BootstrapVariableSlots - reducing interface of BootstrapVariableSlots by setting methods protected

  1. … 3 more files in changeset.
- put test cases for all kind of mix setter / getter together in one test case

nx.tcl: - add "set" as a method name for relation slots - implemented relation slot "mixin" and "object-mixin" via "slotassign" to disallow "/obj/ mixin /value/" and "/obj/ object mixin /value/" to use instead "/obj/ mixin set /value/" and "/obj/ object mixin set /value/" while keeping "configure" and "cget" working. This has the advantage that "/obj/ mixin set" does not try to replace the mixin chain by "set" - adapted regression test - TODO: check, if we need the explicit "slotassign"? isn't the presence of the slotObj sufficient? maybe "-forwardToSlot" in relationSlots? - TODO: demangle "slotassign" in "ObjectParameterSlot protected method getParameterOptions" and check interactions - TODO: to the same as -mixin and -object-mixin to -filter and -object-filter - TODO: clean up relation slot mixin variants - TODO: do we really like the fact that we have to write now "B mixin set M2" instead of "B mixin M2"? - TODO: should we disallow "B mixin" and enforce instead of "B mixin get" ? - TODO: we could as well allow "B mixin clear" instead of "B mixin set {}" - TODO: allow "set" for variable slots as well. Do we need "assign"?

  1. … 2 more files in changeset.
- finalize dropping of setter methods for nx

  1. … 7 more files in changeset.
- add flag "-onerror" to nsf::forward::method to handle errors during dispatch of a forwarder (not all error messags of forwarder are already transformed) - added log-level Info which prints always, e.g. for "-verbose" flag of forwarder - drop setter-rule from properties (use always forwarder) - drop "/obj/ /prop/" and "/obj/ /prop/ /value/" in favor of "/obj/ /prop/ get" and "/obj/ /prop/ assign /value/" to achieve better orthogonality with e.g. incremental properties

  1. … 8 more files in changeset.
- fix change of semantics when default multiplicity (1..1) is combinded with lower bound preserving incemental (results in 1..n instead of 0..n previously)

- preserve lower bound of multiplicity when incemental is added - extend regression test

  1. … 2 more files in changeset.
- added more test cases for multiplicity and incremental

  1. … 2 more files in changeset.
nx.tcl: - Define method "value" as a slot forwarder to allow for calling value-less slot methods like e.g. "get" dispite of the arity-based forward dispatcher. - extend regression test

  1. … 2 more files in changeset.
- use nx rather than xotcl2 terminology in nsf::method::forward

  1. … 6 more files in changeset.
- renamed "-methodprefix" to "-prefix" in nx, since the prefix can be applied as well applied to a cmd.

  1. … 4 more files in changeset.
- nsf.c, NsfForwardMethod(): Make sure that a 2nd argument is available for prepending the methodprefix. Earlier, NSF crashed in case of a missing 2nd arg. - Added some basic tests on -methodprefix.

  1. … 2 more files in changeset.
- deactivated "-onerror", since its semantics are expressible via try/catch, and there are no regression tests for xotcl and nx, and we could not find any script that uses this

  1. … 4 more files in changeset.
Adjusting forward doc, adding TODO

  1. … 2 more files in changeset.
forward.test: Adding some tests

- use in forwarders "-frame object" instead of "-objframe" in nx for consistency with other calls (e.g. dispatch). Other values for "-frame" are not allowed. (btw, XOTcl has "-objscope")

  1. … 4 more files in changeset.
forwarders: - RFE "provide %method" as keyword like %proc" was already implemented. Dropping %proc would break XOTcl2 compatibility. - adding a test case

  1. … 2 more files in changeset.
Continue working on forward doc, adding some tests

  1. … 2 more files in changeset.
- library/nx/nx.tcl: Pulling out method contracts (pre- and postconditions) from NX for the time being. Corresponding tests have been commented out or, if applicable, turned into XOTcl2-specific tests.

  1. … 1 more file in changeset.
- improve code documentation - add some more tests to the regression test suite

  1. … 2 more files in changeset.
- extend regression test

  1. … 1 more file in changeset.
- generic/nsf.c: Use GetAllClassMixinsOf() instead of TransitiveSubClasses() when invalidating per-class caches. Added two tests.

  1. … 1 more file in changeset.
nsf.c: - invalidate paramter caches of subclasses on NsfParameterInvalidateClassCacheCmd unless during shutdown. Otherwise some classes might not become aware of properties added later to superclasses. - extended regression test

  1. … 4 more files in changeset.
nsf.c: - fix case, where NsfDStringPrintf() failed (when print llength including \0 was 1 byte longer than print buffer) - make sure, that the list kept for the cached parameter is just built from unshared objects; otherwise Tcl append will abort

nx.tcl:

- new package "nx::volatile"

- don't define configure parameter "-volatile" per default;

use "package req nx::volatile" instead

- don't define per method "volatile" per default;

use "::nsf::method::require ::nx::Object volatile" instead

- get rid of -volatile in nx.tcl and serializer

- update/extend regression test

  1. … 7 more files in changeset.
nsf.c: - let [current methodpath] return full path (similar to -path option in "info methods" - handle collateral damage in regression test due to changed result of "current methodpath"

  1. … 3 more files in changeset.
nx::traits: - handle ensemble methods correctly (use full method path for resolution) - add new regression tests for traits

  1. … 1 more file in changeset.
- raise an error, when an ensemble methods redefined a plain method

  1. … 2 more files in changeset.
- add incr/decr refcount for callInfoObj in unknown handling - deactivated suspicious assert() in NsfMethodNamePath()

  1. … 1 more file in changeset.