istopwg / ippeveselfcert

IPP Everywhere Printer Self-Certification Tools
https://www.pwg.org/ipp/everywhere.html
Apache License 2.0
21 stars 6 forks source link

finishings-col-default is not expected in IPP Everywhere Printer Self-Certification Tools #70

Closed syoungatcda closed 2 years ago

syoungatcda commented 3 years ago

Condition: IPP Everywhere Printer Self-Certification Tools v1.1 Update 3

Steps:

  1. Run Test Case I-10. Get-Printer-Attributes Operation (default) of IPP Everywhere Printer Self-Certification Tools v1.1 Update 3 2. A printer with no finishing unit sends Get-Printer-Attributes response of finishings-default=3 (none), finishings-col-default='no-value'.

Expected:

  1. Test result is passed.

Actual:

  1. Test result is failed as follows: EXPECTED: finishings-col-default OF-TYPE collection (got no-value) EXPECTED: finishings-col-default/finishing-template OF-TYPE keyword|name (got no-value)

Note: We believe finishings-col-default='no-value' is compatible with PWG specification in chapter 6.10 of PWG5100.1. Therefore the test tool should pass with finishings-col-default='no-value'.

In chapter 6.10 of PWG 5100.1, it says: The "finishings-col-default" Printer attribute MUST report the same finishing processes as the "finishings-default" [RFC8011] Printer attribute. If "finishings-default" has the value 'none', then "finishings-col-default" MUST have the 'no-value' out-of-band value.

wifiprintguy commented 3 years ago

@syoungatcda, all the tests of "finishings-col-database", "finishings-default" etc. are only run if HAVE_FINISHINGS is defined. That is defined if "finishings-supported" lists a value other than 3 (none), indicating that the printer does support finishings. So I don't quite understand how these tests would have been run if "finishings-supported" only specifies 3 (none)?

wifiprintguy commented 2 years ago

@syoungatcda, some updates, in response to your email, and thanks for the reminder!

If "finishings-supported" lists values other than 3, then line 382 (https://github.com/istopwg/ippeveselfcert/blob/dae99dc986f0d07464015f11d9cdf13de97835f8/tests/ipp-tests.test#L382) would be evaluated. And PWG 5100.1-2017 section 6.10 "finishings-col-default" says:

If "finishings-default" has the value 'none', then "finishings-col-default" MUST have the 'no-value' out-of-band value.

Given that, lines 382-383, which are currently this:

EXPECT finishings-col-default OF-TYPE collection IN-GROUP printer-attributes-tag IF-DEFINED HAVE_FINISHINGS
EXPECT finishings-col-default/finishing-template OF-TYPE keyword|name IF-DEFINED HAVE_FINISHINGS

ought instead to say this to resolve your issues (NOTE: EDITED 2021-11-21 WITH MINOR FIXES)

EXPECT finishings-col-default OF-TYPE collection|no-value IN-GROUP printer-attributes-tag IF-DEFINED HAVE_FINISHINGS
EXPECT finishings-col-default OF-TYPE collection IN-GROUP printer-attributes-tag DEFINE-MATCH HAVE_COL_IN_FINISHINGS_COL_DEFAULT
EXPECT finishings-col-default/finishing-template OF-TYPE keyword|name IF-DEFINED HAVE_COL_IN_FINISHINGS_COL_DEFAULT

Let me know if that works for you (test it by copying in the new version to your local copy of ipp-tests.test) and I'll commit the change.

wifiprintguy commented 2 years ago

@michaelrsweet any thoughts on this solution?

wifiprintguy commented 2 years ago

Updated my above comment with a corrected solutions which I will also list here:

EXPECT finishings-col-default OF-TYPE collection|no-value IN-GROUP printer-attributes-tag IF-DEFINED HAVE_FINISHINGS
EXPECT finishings-col-default OF-TYPE collection IN-GROUP printer-attributes-tag DEFINE-MATCH HAVE_COL_IN_FINISHINGS_COL_DEFAULT
EXPECT finishings-col-default/finishing-template OF-TYPE keyword|name IF-DEFINED HAVE_COL_IN_FINISHINGS_COL_DEFAULT
michaelrsweet commented 2 years ago

@wifiprintguy LGTM.

syoungatcda commented 2 years ago

@wifiprintguy

Canon Inc tried changing the ipp-test.test with your recommendation: EXPECT finishings-col-default OF-TYPE collection|no-value IN-GROUP printer-attributes-tag IF-DEFINED HAVE_FINISHINGS EXPECT finishings-col-default OF-TYPE collection|no-value IN-GROUP printer-attributes-tag DEFINE-MATCH HAVE_COL_IN_FINISHINGS_COL_DEFAULT EXPECT finishings-col-default/finishing-template OF-TYPE keyword|name IF-DEFINED HAVE_COL_IN_FINISHINGS_COL_DEFAULT

And they got the following result:

--- Results before modifying ipp-tests.test. --- I-10. Get-Printer-Attributes Operation (default) [FAIL] RECEIVED: 16686 bytes in response status-code = successful-ok (successful-ok) EXPECTED: finishings-col-default OF-TYPE collection (got no-value) EXPECTED: finishings-col-default/finishing-template OF-TYPE keyword|name (got no-value)

--- Results after modifying ipp-tests.test. --- I-10. Get-Printer-Attributes Operation (default) [FAIL] RECEIVED: 18952 bytes in response status-code = successful-ok (successful-ok) EXPECTED: finishings-col-default/finishing-template OF-TYPE keyword|name (got no-value)

"EXPECTED: finishings-col-default OF-TYPE collection (got no-value)" no longer failed, "finishings-col-default/finishing-template" still failed.

Please advise what to do.

wifiprintguy commented 2 years ago

They were testing with the first changes I suggested - I found some problems with that and later in this issue's comments I updated the suggested changes. Have them re-test.

syoungatcda commented 2 years ago

CINC tested the new change in ipp-tests.test and it does resolve the failures we had before.

Is it correct to understand that the rewritten ipp-tests.test will be officially released by PWG?

wifiprintguy commented 2 years ago

@syoungatcda I would expect this fix to be included in the pending IPP Everywhere Self-Certification v1.1 Update 4. We need to get our signing certificates updated and then we can produce a v1.1 Update 4 and post it for Workgroup last call. If no issues are reported, that build will become the new v1.1 toolset. Is this the one issue blocking printer certification for you and your colleagues? If there are other issues, please submit them as soon as is practical so that we can make sure the v1.1 Update 4 can be used to certify your printers.

syoungatcda commented 2 years ago

@wifiprintguy The fix is not in the IPP Everywhere Self-Certification v1.1 Update 4 released on 2/25. Can you please check and add the fix to IPP Everywhere Self-Certification v1.1 Update 4. Thank you.

michaelrsweet commented 2 years ago

Reopening until we have this resolved for good.

syoungatcda commented 2 years ago

Canon has downloaded the IPP Everywhere Printer Self-Certification Tools v1.1 Update 4 and tested their printers again and this time it does pass without any error. Thank you very much.

wifiprintguy commented 2 years ago

Closing it again because @syoungatcda said it is now working.