acs-authentication-procs.tcl

  • last updated 6 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Fix typo

Reduce divergencies between oracle and postgres codebase

  1. … 2 more files in changeset.
mprove spelling: move closer to the linux documentation recommendations

  1. … 21 more files in changeset.
Add missing authority_id on the 'auth_authenticate' testcase

Fix reported api, extend test

Extend test to cover more api

New test for auth::authority::edit and auth::authority::get_element

Create new test for auth::authority::delete, make sure lookup cache is flushed in the (unlikely) case that an authority is deleted

  1. … 1 more file in changeset.
Use testing authority in auth_create_user test

Apply changes to oacs-5-10 branch

Use automated-testing authority in the test case

Use testing authority in the test

Use testing authority in test, handle mixed-case emails

Use testing authority in the test, handle mixed-case emails

Use testing authority in the test

Use testing authority in the test

Add test about the portrait retrieval complying with the datamodel definition of a portrait

use public interface instead of private one

Test also the portrait api (exploit the fact that we are already creating bogus users), move helper procs to the beginning so they can be found by the testing machinery

Trim whitespace

improve testcases by removing useless expr commands

  1. … 17 more files in changeset.
make tested procs explicit

    • -10
    • +101
    ./acs-authentication-procs.tcl
  1. … 2 more files in changeset.
Revert massive replacement of empty list creation sentences. The use of '[list]' instead of '{}' adds semantics that could be used for performance improvements in the future, such as using a different internal representation. There is already work in this direction, avoiding the generation of the string representation during comparison of empty strings (huge thanks to Stefan Sobernig for the pointer: https://core.tcl.tk/tcl/info/44527c632ed609c2).

  1. … 475 more files in changeset.
Prefer '{}' to '[list]' when creating empty lists

  1. … 71 more files in changeset.
Fix typos

  1. … 62 more files in changeset.
merged changes from the oacs-5-9 branch and resolved conflicts

  1. … 7834 more files in changeset.
- fix test case

- add editor hints to keep spaces/tabs in the furture more consistent

  1. … 754 more files in changeset.

ad_proc reform:

- use nsf::proc for defining ad_procs, when nsf::proc is available

- nsf::proc is part of the environment of XOTcl2 and provides

an efficient, C-implemented argument parser that can replace

the scripted *__arg_parser of OpenACS.

- The benefits are performance and reduced memory consumption.

* Simple functions (where the calling overhead was a large

part of the execution times can become several times faster

(e.g. db_name is 3x faster, cookie handling is 2x faster),

for functions with much db-activities the percentage will

be less.

* The memory consumption (RSS) of a site like OpenACS.org

is reduced by about 15%.

NEW (with nsf::proc)

::ad_get_cookie x: 10.93 microseconds per iteration

::ad_get_cookie ad_session_id: 21.95 microseconds per iteration

::dt_systime: 24.89 microseconds per iteration

::db_name: 8.70 microseconds per iteration

::db_string dbqd.null.g "select version() from dual": 316.66 microseconds per iteration

::ad_convert_to_html "hello world": 102.29 microseconds per iteration

OLD (without nsf::proc)

::ad_get_cookie x: 19.42 microseconds per iteration

::ad_get_cookie ad_session_id: 30.10 microseconds per iteration

::dt_systime: 27.55 microseconds per iteration

::db_name: 32.28 microseconds per iteration

::db_string dbqd.null.g "select version() from dual": 366.69 microseconds per iteration

::ad_convert_to_html "hello world": 160.51 microseconds per iteration

======================================================================

proc mtime cmd {set c 5000

set t [time [list time $cmd $c]];

regexp {^(-?[0-9]+) +} $t _ mS1;

set ms [expr {$mS1*1.0/$c}];

return "[format %6.2f $ms] microseconds per iteration"

}

set tests {

{::ad_get_cookie x} {::ad_get_cookie ad_session_id} {::dt_systime}

{::db_name} {::db_string dbqd.null.g "select version() from dual"}

{::ad_convert_to_html "hello world"}

}

foreach t $tests {append ::_ $t ": " [mtime $t] \n}

set ::_

======================================================================

  1. … 9 more files in changeset.
Merging back to HEAD all changes that happened in branch oacs-5-8 between tags: vg-merge-oacs-5-8-from-20141027 and vg-merge-oacs-5-8-from-20150427

  1. … 520 more files in changeset.