Forum OpenACS Development: tests cases fail on a 5.5 fresh installation

I've just installed an oacs 5.5 from scratch, and running Automated Tests at /test/admin/, I've got that table:

Package key  Testcases run / Passes / Fails = Result
acs-admin                2 /   3 /  0   =   OK
acs-api-browser          1 /   1  / 0   =   OK
acs-authentication      24 / 227  / 2   =  FAILED
acs-automated-testing    1 /   0  / 0   =   OK
acs-content-repository   8 /  48  / 1   =  FAILED
acs-lang                16 / 358  / 0   =   OK
acs-messaging            2 /   2  / 0   =   OK
acs-service-contract     1 /   1  / 0   =   OK
acs-subsite              4 /   5  / 0   =   OK
acs-tcl                 73 / 373  / 5   =  FAILED
acs-templating           6 /  50  / 1   =  FAILED

It's bad that 4 core packages fail their tests, isn't it?

Collapse
Posted by Don Baccus on
1. the acs-templating test is because there are Oracle constraint names that don't meet our standard. Feel free to fix them - we PostgreSQL users maintain the PostgreSQL model to meet our standard and therefore pass the test, Oracle users need to maintain such things in Oracle.

2. acs-tcl which tests are failing? I ran them before release and didn't get these errors.

3. acs-content-repository - that didn't fail for me, either

4. acs-authentication - two tests fail if you're not using external authentication. These could be cleaned up but since it's a known issue, thus far no one has bothered.

Collapse
Posted by Don Baccus on
Actually I'm wrong. On my Oracle 9i installation, one acs-tcl test fails, and that's the constraint naming issue I mentioned above.

acs-templating has no problem running on my machine. Please look and see which test fails - it might be due to problems with spell checking (the tests will fail if ispell or aspell aren't installed). It's also possible that the spell checking test will only pass in English. But please look, I'm only guessing that spell checking might be an issue.

Same with the acs-tcl tests, you should only see the one error mentioned above.

It's possible your problems are related to 10g, since I have no problem with 9i.

It's bad that 4 core packages fail their tests, isn't it?
Yes. This is why I asked people to

1. test the alpha release

2. test the beta release

This ALWAYS HAPPENS. People wait until I release FINAL to test, rather than test the test versions.

Anyway, post whatever you learn by looking at the test details. Unless the problems you've uncovered are extremely important and fatal, I will NOT be making a new final release.

Collapse
Posted by Michael Cordova on
I'm testing OpenACS on postgresql 8.2.11 in my spare time. As I'm working at UNED, maybe I can ask my boss to test on a Oracle instance.

Looking into more detail my automated tests results... the main problem is about something called "msgcat 1.4"

<h2>acs-authentication</h2>

You are right that acs-authentication fails if you're not using external authentication, for instance..

  • auth::password::recover_password proc FAILED: status ok Affirm FAILED, actual = "failed_to_connect", expected = "ok"
  • auth::password::retrieve proc FAILED: retrieve pwd from local auth Affirm FAILED, actual = "failed_to_connect", expected = "ok"

I've got another test fail, that now is magically fixed (by itself?) just re-running the test cases, the previous to last one pass said: FAILED: Number of problems Affirm FAILED, actual = "6", expected = "0". Anyway, no bother about that.

<h2>acs-content-repository</h2>

About acs-content-repository/tcl/test/content-search-procs.tcl, the problem is:

  cr_item_search_triggers (body 0): Error during execution: Setup failed with error can't find package msgcat 1.4

   can't find package msgcat 1.4
      while executing
  "package require msgcat 1.4"

<h2>acs-tcl</h2>

  • util::age_pretty proc FAILED: can't find package msgcat 1.4
  • Test case datamodel__named_constraints...
    • FAILED: Table pg_ts_cfg constraint pg_ts_cfg_pkey (pk) violates naming standard (hint: pg_ts_cfg_ts_name_pk)
    • FAILED: Table pg_ts_cfgmap constraint pg_ts_cfgmap_pkey (pk) violates naming standard (hint: pg_ts_cfgmap_pk)
    • FAILED: Table pg_ts_dict constraint pg_ts_dict_pkey (pk) violates naming standard (hint: pg_ts_dict_dict_name_pk)
    • FAILED: Table pg_ts_parser constraint pg_ts_parser_pkey (pk) violates naming standard (hint: pg_ts_parser_prs_name_pk)
<h2>acs-templating</h2>

  • sql_date test sql date transform FAILED: can't find package msgcat 1.4
Collapse
Posted by Dave Bauer on
You tcl install appears to be misconfigured. msgcat is a standard part of Tcl since 8.1 according to the documentation.
Collapse
Posted by Michael Cordova on
I've already installed msgcat 1.3, what seems to work with OpenACS 5.4.

Not sure how to upgrade msgcat to 1.4 in order to test OpenACS 5.5.

Thanks in advance

Collapse
Posted by Dave Bauer on
It looks like some Tcl distribution code is calling msgcat, not OpenACS. There isn't any call to "package require msgcat" in OpenACS itself.

So it looks like your AOLserver is using a different version of Tcl than your local Tcl install and it can't find the msgcat library.

Collapse
Posted by Don Baccus on
Test case datamodel__named_constraints...
FAILED: Table pg_ts_cfg constraint pg_ts_cfg_pkey (pk) violates naming standard (hint: pg_ts_cfg_ts_name_pk)
FAILED: Table pg_ts_cfgmap constraint pg_ts_cfgmap_pkey (pk) violates naming standard (hint: pg_ts_cfgmap_pk)
FAILED: Table pg_ts_dict constraint pg_ts_dict_pkey (pk) violates naming standard (hint: pg_ts_dict_dict_name_pk)
FAILED: Table pg_ts_parser constraint pg_ts_parser_pkey (pk) violates naming standard (hint: pg_ts_parser_prs_name_pk)
Goshawk:openacs-5.5.0 acs$ grep -r -l pg_ts_cfg .
Goshawk:openacs-5.5.0 acs$
This table is not part of acs-core.

Where is it coming from?

Collapse
Posted by Don Baccus on
msgcat - "message catalog" - allows for localization of Tcl code.

We don't use it in OpenACS, as daveb's pointing out.

This is not a problem with the OpenACS 5.5.0 release.

Collapse
Posted by Michael Cordova on
Finally I got everything working well. There is no problem as Don says.

So, please... I ask a forum moderator to change the title of this thread from "tests cases fail on a 5.5 fresh installation" to "tests cases fail with Tcl8.5" or something similar.

Thanks.

Just for the record, I have to say that the problem was that I was using Tcl8.5.7 with AOLServer 4.5.1, and although that's fine with OpenACS itself, TESTS cases don't work well with Tcl8.5 due to msgcat is now compiled as a module, and some tests use a file from tcltest where msgcat is called, but is not found.

Anyway, I have recompiled AOLServer with Tcl8.4.19 and everything works well.

The other issue, about pg_ts_* tables is related with Tsearch. Those tables are in my template1, so they appear in OpenACS database when I create it.

Collapse
Posted by Don Baccus on
We don't support tcl 8.5 yet. It's a worthy goal for 5.6.
Collapse
Posted by Prem Thomas on
Perhaps the compatibility matrix should be changed to reflect this; it currently indicates support for tcl 8.5

http://www.openacs.org/xowiki/openacs-compatibility-matrix

Collapse
Posted by Don Baccus on
Oops, who did that???
Collapse
Posted by Emmanuelle Raffenne on
I've updated http://www.openacs.org/xowiki/openacs-compatibility-matrix

Please check everything is OK.