[cups.bugs] "make test" fails for cups-1.2.2 and newer

Andreas Haumer andreas at xss.co.at
Sun Aug 13 03:22:52 PDT 2006


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi!

I'm about to upgrade my running cups-1.1.23 installation to
cups-1.2.2, but I see errors in the "make test" step which
make me worry: with cups version 1.2.2 and up I can not
successfully execute the "make test" target anymore, it
always fails several tests.

For cups 1.1.23, 1.2.0, and 1.2.1, "make test" runs
without problems.

<example cups-1.2.1>
andreas at orwell:/work/cups-1.2.1 {1937} % make test
Making all in cups...
Making all in backend...
Making all in berkeley...
Making all in cgi-bin...
Making all in filter...
Making all in locale...
Making all in man...
Converting man pages to HTML...
    cancel.1.gz...
    cups-config.1.gz...
    cupstestdsc.1.gz...
    cupstestppd.1.gz...
    lp.1.gz...
    lpoptions.1.gz...
    lppasswd.1.gz...
    lpq.1.gz...
    lprm.1.gz...
    lpr.1.gz...
    lpstat.1.gz...
    classes.conf.5.gz...
    client.conf.5.gz...
    cups-snmp.conf.5.gz...
    cupsd.conf.5.gz...
    mime.convs.5.gz...
    mime.types.5.gz...
    printers.conf.5.gz...
    subscriptions.conf.5.gz...
    backend.7.gz...
    filter.7.gz...
    accept.8.gz...
    cupsaddsmb.8.gz...
    cups-deviced.8.gz...
    cups-driverd.8.gz...
    cups-lpd.8.gz...
    cups-polld.8.gz...
    cupsd.8.gz...
    cupsenable.8.gz...
    lpadmin.8.gz...
    lpinfo.8.gz...
    lpmove.8.gz...
    lpc.8.gz...
Making all in monitor...
Making all in notifier...
Making all in pdftops...
Making all in scheduler...
Making all in systemv...
Making all in test...
Making all in scripting/php...
Making all in conf...
Making all in data...
Making all in doc...
Making all in fonts...
Making all in ppd...
Making all in templates...
Running CUPS test suite...
Welcome to the CUPS Automated Test Script.

Before we begin, it is important that you understand that the larger
tests require significant amounts of RAM and disk space.  If you
attempt to run one of the big tests on a system that lacks sufficient
disk and virtual memory, the UNIX kernel might decide to kill one or
more system processes that you've grown attached to, like the X
server.  The question you may want to ask yourself before running a
large test is: Do you feel lucky?

OK, now that we have the Dirty Harry quote out of the way, please
choose the type of test you wish to perform:

0 - No testing, keep the scheduler running for me (all systems)
1 - Basic conformance test, no load testing (all systems)
2 - Basic conformance test, some load testing (minimum 256MB VM, 50MB disk)
3 - Basic conformance test, extreme load testing (minimum 1GB VM, 500MB disk)
4 - Basic conformance test, torture load testing (minimum 2GB VM, 1GB disk)

Enter the number of the test you wish to perform: [1]

Running the timid tests (1)

Now you can choose whether to create a SSL/TLS encryption key and
certificate for testing; these tests currently require the OpenSSL
tools:

0 - Do not do SSL/TLS encryption tests
1 - Create a SSL/TLS certificate and key, but do not require encryption
2 - Create a SSL/TLS certificate and key and require encryption

Enter the number of the SSL/TLS tests to perform: [0]

Not using SSL/TLS...

This test script can use the Valgrind software from:

    http://developer.kde.org/~sewardj/

Enter Y to use Valgrind or N to not use Valgrind: [N]

Creating directories for test...
Creating cupsd.conf for test...
Creating printers.conf for test...
Setting up environment variables for test...
Starting scheduler:
     ../scheduler/cupsd -c /tmp/cups-andreas/cupsd.conf -f >/tmp/cups-andreas/log/debug_log 2>&1 &

Scheduler is PID 6960; run debugger now if you need to.

Press ENTER to continue...

Running IPP compliance tests...
Performing 4.1-requests.test...
Performing 4.2-cups-printer-ops.test...
Performing 4.3-job-ops.test...
Performing 4.4-subscription-ops.test...

Running command tests...
Performing 5.1-lpadmin.sh...
Performing 5.2-lpc.sh...
Performing 5.3-lpq.sh...
Performing 5.4-lpstat.sh...
Performing 5.5-lp.sh...
Performing 5.6-lpr.sh...
Performing 5.7-lprm.sh...
Performing 5.8-cancel.sh...
Performing 5.9-lpinfo.sh...

All tests were successful.
Log files can be found in /tmp/cups-andreas/log.
A HTML report was created in test/cups-str-1.2-2006-08-13-andreas.html.
</example cups-1.2.1>

But beginning with cups-1.2.2, several tests of the
test-suite fail:

<example cups-1.2.2>
andreas at orwell:/work/cups-1.2.2 {1940} % make test
Making all in cups...
Making all in backend...
Making all in berkeley...
Making all in cgi-bin...
Making all in filter...
Making all in locale...
Making all in man...
Converting man pages to HTML...
    cancel.1.gz...
    cups-config.1.gz...
    cupstestdsc.1.gz...
    cupstestppd.1.gz...
    lp.1.gz...
    lpoptions.1.gz...
    lppasswd.1.gz...
    lpq.1.gz...
    lprm.1.gz...
    lpr.1.gz...
    lpstat.1.gz...
    classes.conf.5.gz...
    client.conf.5.gz...
    cups-snmp.conf.5.gz...
    cupsd.conf.5.gz...
    mailto.conf.5.gz...
    mime.convs.5.gz...
    mime.types.5.gz...
    printers.conf.5.gz...
    subscriptions.conf.5.gz...
    backend.7.gz...
    filter.7.gz...
    accept.8.gz...
    cupsaddsmb.8.gz...
    cups-deviced.8.gz...
    cups-driverd.8.gz...
    cups-lpd.8.gz...
    cups-polld.8.gz...
    cupsd.8.gz...
    cupsenable.8.gz...
    lpadmin.8.gz...
    lpinfo.8.gz...
    lpmove.8.gz...
    lpc.8.gz...
Making all in monitor...
Making all in notifier...
Making all in pdftops...
Making all in scheduler...
Making all in systemv...
Making all in test...
Making all in scripting/php...
Making all in conf...
Making all in data...
Making all in doc...
Making all in fonts...
Making all in ppd...
Making all in templates...
Running CUPS test suite...
Welcome to the CUPS Automated Test Script.

Before we begin, it is important that you understand that the larger
tests require significant amounts of RAM and disk space.  If you
attempt to run one of the big tests on a system that lacks sufficient
disk and virtual memory, the UNIX kernel might decide to kill one or
more system processes that you've grown attached to, like the X
server.  The question you may want to ask yourself before running a
large test is: Do you feel lucky?

OK, now that we have the Dirty Harry quote out of the way, please
choose the type of test you wish to perform:

0 - No testing, keep the scheduler running for me (all systems)
1 - Basic conformance test, no load testing (all systems)
2 - Basic conformance test, some load testing (minimum 256MB VM, 50MB disk)
3 - Basic conformance test, extreme load testing (minimum 1GB VM, 500MB disk)
4 - Basic conformance test, torture load testing (minimum 2GB VM, 1GB disk)

Enter the number of the test you wish to perform: [1]

Running the timid tests (1)

Now you can choose whether to create a SSL/TLS encryption key and
certificate for testing; these tests currently require the OpenSSL
tools:

0 - Do not do SSL/TLS encryption tests
1 - Create a SSL/TLS certificate and key, but do not require encryption
2 - Create a SSL/TLS certificate and key and require encryption

Enter the number of the SSL/TLS tests to perform: [0]

Not using SSL/TLS...

This test script can use the Valgrind software from:

    http://developer.kde.org/~sewardj/

Enter Y to use Valgrind or N to not use Valgrind: [N]

Creating directories for test...
Creating cupsd.conf for test...
Creating printers.conf for test...
Setting up environment variables for test...
Starting scheduler:
     ../scheduler/cupsd -c /tmp/cups-andreas/cupsd.conf -f >/tmp/cups-andreas/log/debug_log 2>&1 &

Scheduler is PID 8005; run debugger now if you need to.

Press ENTER to continue...

Running IPP compliance tests...
Performing 4.1-requests.test...
Performing 4.2-cups-printer-ops.test...
Test failed.
Performing 4.3-job-ops.test...
Test failed.
Performing 4.4-subscription-ops.test...
Test failed.

Running command tests...
Performing 5.1-lpadmin.sh...
Performing 5.2-lpc.sh...
Performing 5.3-lpq.sh...
Test failed.
Performing 5.4-lpstat.sh...
Test failed.
Performing 5.5-lp.sh...
Test failed.
Performing 5.6-lpr.sh...
Test failed.
Performing 5.7-lprm.sh...
Test failed.
Performing 5.8-cancel.sh...
Test failed.
Performing 5.9-lpinfo.sh...
cat: /tmp/cups-andreas/log/page_log: No such file or directory

9 tests failed.
Log files can be found in /tmp/cups-andreas/log.
A HTML report was created in test/cups-str-1.2-2006-08-13-andreas.html.
</example cups.1.2.2>

(The same is true for cups-1.3svn-r5805 which is the newest version
I checked)

In the HTML report I see the following error descriptions:

[...]

"4.2-cups-printer-ops.test":
    Add Printer Test1                                            [PASS]
        RECEIVED: 72 bytes in response
    Verify Printer Test1 Added                                   [PASS]
        RECEIVED: 4137 bytes in response
    Delete Printer Test1                                         [PASS]
        RECEIVED: 72 bytes in response
    Verify Printer Test1 Deleted                                 [PASS]
        RECEIVED: 126 bytes in response
    Subscribe to Printer Events                                  [FAIL]
        RECEIVED: 157 bytes in response
        BAD STATUS
        status-code = 0404 (Bad notify-recipient URI "testnotify"!)
        EXPECTED: notify-subscription-id
        attributes-charset (charset) = "utf-8"
        attributes-natural-language (language) = "en"
        status-message (text) = "Bad notify-recipient URI "testnotify"!"
        notify-status-code (enum) = 1036

"4.3-job-ops.test":
    Print PostScript Job to Test1                                [FAIL]
        RECEIVED: 126 bytes in response
        BAD STATUS
        status-code = 0406 (The printer or class was not found.)
        EXPECTED: job-id
        attributes-charset (charset) = "utf-8"
        attributes-natural-language (language) = "en"
        status-message (text) = "The printer or class was not found."

"4.4-subscription-ops.test":
    Add Printer Subscription w/Lease                             [FAIL]
        RECEIVED: 126 bytes in response
        BAD STATUS
        status-code = 0406 (The printer or class was not found.)
        EXPECTED: notify-subscription-id
        attributes-charset (charset) = "utf-8"
        attributes-natural-language (language) = "en"
        status-message (text) = "The printer or class was not found."

[...]

"5.3-lpq.sh":
LPQ Test

    lpq
.../berkeley/lpq: error - no default destination available.
    FAILED

"5.4-lpstat.sh":
LPSTAT Test

    lpstat -t
lpstat: No destinations added.
lpstat: No destinations added.
lpstat: No destinations added.
lpstat: No destinations added.
scheduler is running
no system default destination
    FAILED

"5.5-lp.sh":
LP Default Test

    lp testfile.jpg
.../systemv/lp: Error - no default destination available.
    FAILED

"5.6-lpr.sh":
LPR Default Test

    lpr testfile.jpg
.../berkeley/lpr: Error - no default destination available.
    FAILED

"5.7-lprm.sh":
LPRM Current Test

    lprm
.../berkeley/lprm: (null)
    FAILED

"5.8-cancel.sh":
Cancel Destination Test

    cancel Test1
.../systemv/cancel: Error - unknown destination "Test1"!
    FAILED

[...]

For all cups versions I used the following commands to
compile from source:

../configure --prefix=/usr --with-cups-user=cups --with-cups-group=lp
make
make test

Tests also fail if I enable some more advanced features like ssl,
pam, libpaper or slp

This is on a Linux system:

andreas at orwell:~ {1957} % uname -a
Linux orwell 2.4.32-xss-std #1 SMP Mon Jun 19 01:04:20 CEST 2006 i686 athlon i386 GNU/Linux

andreas at orwell:~ {1958} % rpm -q gcc glibc binutils pam
gcc-3.3.4-6
glibc-2.3.5-4
binutils-2.15.94.0.2.2-1
pam-0.99.3.0-1

What did change between cups-1.2.1 and cups-1.2.2 which may
explain the errors I see? (I checked the CHANGES.txt file but
couldn't find any smoking gun there)

Should I worry or better stay with cups-1.2.1 (the last version
which passes all tests)?

- - andreas

- --
Andreas Haumer                     | mailto:andreas at xss.co.at
*x Software + Systeme              | http://www.xss.co.at/
Karmarschgasse 51/2/20             | Tel: +43-1-6060114-0
A-1100 Vienna, Austria             | Fax: +43-1-6060114-71
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFE3v1wxJmyeGcXPhERAv7SAKC0Yx/Cl8U+KsGJG1NrE9c1t1K/hwCeMEzw
fSbIgbw9z/JA9ASag2iHKsA=
=KVvn
-----END PGP SIGNATURE-----





More information about the cups-devel mailing list