• last updated 21 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
New test proc coverage library (proc-coverage) for the 'automated-testing' package:

- New proc 'aa::coverage::proc_covered_p', checks if a particular proc is covered by any automated test.

- New proc 'aa::coverage::proc_list', returns a list of procs, sistem wide or in a package, with their coverage status.

- New proc 'aa::coverage::proc_coverage', returns a summary of information (number of procs, number of covered procs, coverage percentage) about the coverage of the api of a package, or system wide.

- New proc 'aa::coverage::proc_coverage_level', returns a level value (high, medium, low...) for a particular percentage.

Also add new CSS file for the automated tests summary page, which should help reducing the inline styling in the package, and different styles for the proc coverage levels.

  1. … 3 more files in changeset.
file coverage-procs.tcl was initially added on branch oacs-5-10.

Add new proc 'aa_test::proc_coverage', which returns the percentage of proc test coverage on a particular package, or on the whole system

improve quoting (patch provided by Nathan Coulter)

improve spelling

  1. … 9 more files in changeset.
don't write sensitive information into log files

Do not depend on XoTcl in the core

Use provided email only when a party exists, in all other cases keep the previous behavior (fixes automated tests)

improve code documentation and honor existing settings

Extend aa_runseries proc to allow multiple package keys to be specified (goal is being able to select just the packages we want for testing)

simplify the web testing interface for forms

Make requiring of a test package instance more generic: the plan is to use it in other contexts

  1. … 1 more file in changeset.
- add locale to ::acs::test::user::create (defaults to en_US)

- prefer "last_request" over "user_id"

  1. … 1 more file in changeset.
user_id is supposed to come from auth::create_user

rework acs::test::http interface to allow daisy chaining of requests. One can now specify "-last_reqest" to let a new http to continue with the same credentials (e.g. cookies) as the last request. The old interface based on "-user_id" continues to work

    • -6
    • +8
    ./test/acs-automated-testing-procs.tcl
don't mirror old version of package from tcllib, don't keep in the blueprint

acs::test::form_reply: add option "-remove" in analogy to "-update" to remove entries from the provided dict. This is necessary for web regression testing for

check boxes, where the application has to decuce from the fact, that a field is not transmitted, that a value has to be changed.

  1. … 2 more files in changeset.
Confirm email to handle cases where this is required

    • -0
    • +1
    ./test/acs-automated-testing-procs.tcl
Move email confirmation test in a proc, as some tests need to reuse this when we are configured to require verification

  1. … 1 more file in changeset.
Log at each redirect

Follow redirects in this test to accomodate e.g. the vanilla dotlrn installation scenario

    • -2
    • +2
    ./test/acs-automated-testing-procs.tcl
Add new parameter 'depth' deciding whether we want to follow redirects when testing a URL (default is we don't follow redirects as before)

improve spelling

  1. … 4 more files in changeset.
fix name of tested proc

    • -2
    • +3
    ./test/acs-automated-testing-procs.tcl
improve spelling

Provide a simply authority named "acs_testing" for creating test users during runs of the regression test.

Use this authority in ::acs::test::user::create to avoid problems with the default authority of the site.

    • -0
    • +23
    ./authority-init.tcl
    • -0
    • +133
    ./authority-procs.tcl
  1. … 1 more file in changeset.
- add new api function "aa_section" to allow structuring of larger test cases

- generalize login during tests further. When "user_info" is provided

it can be used to either login via login credentials or directly

via user_id (next step: integrate config-option for test users, this

will allow pure web tests to run against a different server)

- extend regression test to cover new features

- bump version numbers to 5.10.0d7

    • -5
    • +27
    ./test/acs-automated-testing-procs.tcl
  1. … 3 more files in changeset.
added cookie management by passing request dict as "-session" to next requests

- new webtest API calls:

::acs::test::login

::acs::test::logout

- transformed tclwebtest_example to webtest_example (not using twt)

    • -31
    • +35
    ./test/acs-automated-testing-procs.tcl
Allow to specify the URL which is used for regression

testing for cases, where it is hard to determine (when e.g. running

behind a proxy server)

Fix URL