P.O.,
On 13.08.2021 17:10, P. O. Jonsson wrote:
> None of the machines attached to Jenkins have printers defined most of them
> are defined in VMs.
> Seems to me a strange requirement for the test to have a printer defined?
> Could the test not skip
> if there is no printer defined? This appears to be a win only problem
> W7/8.1/10
you could try to change the test to initialize the variable "wmiDefault" to the
blank string, such
that "::options novalue error" does not get raised, like this (or take the full
version from the
attachment):
::method 'testDefaultPrinter'
objWMIService = .oleObject~getObject("winmgmts:\\.\root\cimv2")
colInstalledPrinters = objWMIService~ExecQuery("Select * from
Win32_Printer")
/*wmiDefault=""*/
do objPrinter over colInstalledPrinters
if objPrinter~default then
wmiDefault = objPrinter~Name
end
parse value SysWinGetDefaultPrinter() with sysDefault','.
-- Assert that sys & wmi return the same default printer
self~AssertSame(wmiDefault,sysDefault)
HTH,
---rony
> Am 13.08.2021 um 14:15 schrieb Rony G. Flatscher <[email protected]>:
>>
>>
>>
>> Here the code section:
>>
>> Printers.testGroup-86- do objPrinter over colInstalledPrinters
>> Printers.testGroup-87- if objPrinter~default then
>> Printers.testGroup:88: wmiDefault = objPrinter~Name
>> Printers.testGroup-89- end
>> Printers.testGroup-90- parse value SysWinGetDefaultPrinter() with
>> sysDefault','.
>> Printers.testGroup-91--- Assert that sys & wmi return the same default
>> printer
>> Printers.testGroup:92: self~AssertSame(wmiDefault,sysDefault)
>>
>> So it seems that on your machine there is no default printer installed such
>> that "wmiDefault"
>> remains unassigned.
>>
>> HTH
>>
>> ---rony
>>
>>
>> On 13.08.2021 13:12, P.O. Jonsson wrote:
>>> Ok so there seems to be a variable WMIDEFAULT that is not defined in the
>>> Jenkins machines, this
>>> is the output (also on r 12286):
>>>
>>> ooTest Framework - Automated Test of the ooRexx Interpreter
>>>
>>> Interpreter: REXX-ooRexx_5.0.0(MT)_32-bit 6.05 12 Aug 2021
>>> OS Name: WindowsNT
>>> SysVersion: Windows 10.0.19043
>>>
>>> Tests ran: 24292
>>> Assertions: 375337
>>> Failures: 0
>>> Errors: 1
>>>
>>> [error] 20210813 08:56:55.632000
>>> svn: r11522 Change date: 2018-11-22 01:34:56 +0100
>>> Test: TESTDEFAULTPRINTER
>>> Class: Printers.testgroup
>>> File: ...\ooRexx\extensions\platform\windows\ole\Printers.testGroup
>>> Event: [SYNTAX 98.986] raised unexpectedly.
>>> Reference to unassigned variable "WMIDEFAULT".
>>> Line: 92
>>> 92 *-* self~AssertSame(wmiDefault,sysDefault)
>>> *-* Compiled method "SEND" with scope "Message".
>>> 1583 *-* .message~new(self, methodName)~send
>>> 1558 *-* self~doTheTest(fName, aTestResult) -- carry out the testmethod
>>> 552 *-* test~execute(testResult, verbose)
>>> 552 *-* test~execute(testResult, verbose)
>>> 110 *-* suite~execute(testResult)
>>> 79 *-* retCode = 'worker.rex'(arguments)
>>>
>>> Interpreter: REXX-ooRexx_5.0.0(MT)_32-bit 6.05 12 Aug 2021
>>> OS Name: WindowsNT
>>> SysVersion: Windows 10.0.19043
>>>
>>> Tests ran: 24292
>>> Assertions: 375337
>>> Failures: 0
>>> Errors: 1
>>>
>>> File search: 00:00:06.637000
>>> Suite construction: 00:00:01.217000
>>> Test execution: 00:07:53.232000
>>> Total time: 00:08:01.087000
>>>
>>>
>>> jenkins@DELLGX760
>>> C:\Users\Jenkins\workspace\ooRexx-windows32-test\oorexxTest>exit 2
>>> Build step 'Execute Windows batch command' marked build as failure
>>> Finished: FAILURE
>>>
>>>
>>> Hälsningar/Regards/Grüsse,
>>> P.O. Jonsson
>>> [email protected] <mailto:[email protected]>
>>>
>>>
>>>
>>>
>>>> Am 13.08.2021 um 12:20 schrieb Rony G. Flatscher <[email protected]
>>>> <mailto:[email protected]>>:
>>>>
>>>> On 13.08.2021 12:13, Rony G. Flatscher wrote:
>>>>> On 13.08.2021 08:56, P.O. Jonsson wrote:
>>>>>> I had a look at Jenkins this morning and Windows 32 and 64 bit test for
>>>>>> all W7/8/10 all fail
>>>>>> 1 test in the printers.testGroup, the test TestDefaultPrinter. Can
>>>>>> someone please have a look?
>>>>>
>>>>>
>>>>> F:\work\svn\oorexx\test\trunk\ooRexx\extensions\platform\windows\ole>dir
>>>>> Volume in drive F is root_f
>>>>> Volume Serial Number is 7A10-C4A0
>>>>>
>>>>> Directory of
>>>>> F:\work\svn\oorexx\test\trunk\ooRexx\extensions\platform\windows\ole
>>>>>
>>>>> 29.03.2021 15:58 <DIR> .
>>>>> 29.03.2021 15:58 <DIR> ..
>>>>> 04.03.2020 13:18 4 764 ExcelQuickTest.testGroup
>>>>> 04.03.2020 13:18 19 410 OLEVariant.testGroup
>>>>> 04.03.2020 13:18 4 852 Printers.testGroup
>>>>> 04.03.2020 13:18 3 988 RexxProcess.testGroup
>>>>> 29.03.2021 15:58 4 451 SpecialFolders.testGroup
>>>>> 5 File(s) 37 465 bytes
>>>>> 2 Dir(s) 20 256 874 496 bytes free
>>>>>
>>>>>
>>>>> F:\work\svn\oorexx\test\trunk\ooRexx\extensions\platform\windows\ole>rexx
>>>>> Printers.testGroup
>>>>> Interpreter: REXX-ooRexx_5.0.0(MT)_32-bit 6.05 13 Aug 2021
>>>>> OS Name: WindowsNT
>>>>> SysVersion: Windows 10.0.19042
>>>>>
>>>>> Tests ran: 4
>>>>> Assertions: 34
>>>>> Failures: 0
>>>>> Errors: 0
>>>>>
>>>>> Test execution: 00:00:01.483000
>>>>>
>>>>> As you can see I am not able to duplicate, the test runs o.k.
>>>>>
>>>>> ---rony
>>>>>
>>>> Forgot to supply the ooRexx version:
>>>>
>>>> Open Object Rexx Version 5.0.0 r12286
>>>>
>>>> ---rony
>>>>
#!/usr/bin/env rexx
/*
SVN Revision: $Rev: 11522 $
Change Date: $Date: 2018-11-22 01:34:56 +0100 (Do., 22 Nov 2018) $
*/
/*----------------------------------------------------------------------------*/
/* */
/* Copyright (c) 2007-2018 Rexx Language Association. All rights reserved. */
/* */
/* This program and the accompanying materials are made available under */
/* the terms of the Common Public License v1.0 which accompanies this */
/* distribution. A copy is also available at the following address: */
/* http://www.oorexx.org/license.html */
/* */
/* Redistribution and use in source and binary forms, with or */
/* without modification, are permitted provided that the following */
/* conditions are met: */
/* */
/* Redistributions of source code must retain the above copyright */
/* notice, this list of conditions and the following disclaimer. */
/* Redistributions in binary form must reproduce the above copyright */
/* notice, this list of conditions and the following disclaimer in */
/* the documentation and/or other materials provided with the distribution. */
/* */
/* Neither the name of Rexx Language Association nor the names */
/* of its contributors may be used to endorse or promote products */
/* derived from this software without specific prior written permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */
/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */
/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */
/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT */
/* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */
/* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED */
/* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY */
/* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS */
/* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
/* */
/*----------------------------------------------------------------------------*/
parse source . . fileSpec;
group = .TestGroup~new(fileSpec)
group~add(.Printers.testGroup)
group~restrictOS("WINDOWS")
if group~isAutomatedTest then return group
testResult = group~suite~execute~~print
return testResult
-- End of entry point.
::requires 'ooTest.frm'
::class 'Printers.testgroup' subclass ooTestCase public
::method 'testPrinterNames'
objWMIService = .oleObject~getObject("winmgmts:\\.\root\cimv2")
colInstalledPrinters = objWMIService~ExecQuery("Select * from Win32_Printer")
wmiPrinters = .array~new
do objPrinter over colInstalledPrinters
wmiPrinters~append(objPrinter~name)
end
sysPrinters = .array~new
rv = SysWinGetPrinters(all_printers.)
-- Assert that all sysPrinters are in wmiPrinters
do i = 1 to all_printers.0
parse var all_printers.i pname','.
sysPrinters~append(pname)
self~assertTrue(wmiPrinters~hasItem(pname))
end
-- Assert that both arrays have the same number of items
self~assertTrue(sysPrinters~items == wmiPrinters~items)
-- Assert that all wmiPrinters are in sysPrinters
do i = 1 to wmiPrinters~items
self~assertTrue(sysPrinters~hasItem(wmiPrinters[i]))
end
::method 'testDefaultPrinter'
objWMIService = .oleObject~getObject("winmgmts:\\.\root\cimv2")
colInstalledPrinters = objWMIService~ExecQuery("Select * from Win32_Printer")
wmiDefault=""
do objPrinter over colInstalledPrinters
if objPrinter~default then
wmiDefault = objPrinter~Name
end
parse value SysWinGetDefaultPrinter() with sysDefault','.
-- Assert that sys & wmi return the same default printer
self~AssertSame(wmiDefault,sysDefault)
::options novalue error
_______________________________________________
Oorexx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/oorexx-devel