RFR: JDK-8055209 - create initial set of SPI tests
Alexey Konstantinov
alexey.konstantinov at oracle.com
Fri Aug 15 16:37:19 UTC 2014
Hi Stas,
More findings, sorry.
SPIWriteAndReadTest.testWriteAndRead() does not close the devices it
opens. I think it should.
This also caused me to think that many tests probably need some global
redesigning. Consider this test:
85 private Status testWordLength() {
86 Status result = Status.passed("OK");
87 start("Checking current word length");
88
89 SPIDevice spiDevice;
90
91 Iterator<SPIConfig> devices = SPIDevices.iterator();
92 while(devices.hasNext()){
93 SPIConfig spiConfig = devices.next();
94 try {
95 spiDevice = spiConfig.open();
96 System.out.println("Word length for this Slave: " + spiDevice.getWordLength());
97 spiDevice.close();
98 } catch (IOException e) {
99 result = printFailedStatus("Unexpected IOException: " + e.getClass().getName() + ":" + e.getMessage());
100 }
101 }
102
103 stop();
104
105 return result;
106 }
If spiDevice.getWordLength() generates an exception, the device is left
forever open and the next tests wanting to deal with it will all fail
with unexpected IOEs until you reboot. Maybe try-with-resources would help?
Thanks,
Alexey
On 8/15/2014 8:20 PM, Stas Smirnov wrote:
> Hm, sorry, but the link is incorrect, here is the one
> <http://cr.openjdk.java.net/%7Estsmirno/8055209e/>
>
> 15.08.2014 19:57, Stas Smirnov пишет:
>> Updated webrev <http://cr.openjdk.java.net/%7Estsmirno/8055209d/> is
>> now available
>>
>> 15.08.2014 19:38, Stas Smirnov пишет:
>>> Alexey, thanks for catching this, my eyes were closed when I put it
>>> there:)
>>>
>>> right thing will be
>>> String srcStr = new String(src.array());
>>>
>>> System.out.println("Write SPI: data = " + srcStr);
>>> spiDevice.writeAndRead(src, dst);
>>> spiDevice.end();
>>>
>>> String dstStr = new String(dst.array());
>>> System.out.println("Read SPI: " + dstStr);
>>>
>>> if(!srcStr.equals(dstStr)){
>>> result = printFailedStatus("Data does not match");
>>> }
>>>
>>> 15.08.2014 19:14, Alexey Konstantinov пишет:
>>>> Hi Stas,
>>>>
>>>> Could you double check the test logic of
>>>> SPIWriteAndReadTest.testWriteAndRead()? I'd suppose that the final
>>>> check srcStr.equals(dstStr)) will always fail, because it does not
>>>> seem to me that there are any reasons for dstStr to get updated as
>>>> result of writing something to the dst buffer.
>>>>
>>>> Thanks,
>>>> Alexey
>>>>
>>>> On 8/15/2014 6:54 PM, Stas Smirnov wrote:
>>>>> Please use this, correct link to the webrev
>>>>> <http://cr.openjdk.java.net/%7Estsmirno/8055209c/>
>>>>>
>>>>> 15.08.2014 18:03, Stas Smirnov пишет:
>>>>>> issue: JDK-8055209
>>>>>> <https://bugs.openjdk.java.net/browse/JDK-8055209>
>>>>>> webrev: 8055137 <http://cr.openjdk.java.net/%7Estsmirno/8055209/>
>>>>>>
>>>>>> Hi All,
>>>>>>
>>>>>> Need a review for an update.
>>>>>> In this update I have added 4 tests classes, to verify config, to
>>>>>> verify permissions, word length and write/read operation and
>>>>>> fixed a typo in the testbase class.
>>>>>>
>>>>>> --
>>>>>>
>>>>>> Best regards,
>>>>>> Stas Smirnov
>>>>>>
>>>>>> Stas Smirnov | Java Embedded
>>>>>> Phone: +7 812 3346130 | Mobile: +7 921 9262241
>>>>>> Oracle Development SPB, LLC
>>>>>> 10th Krasnoarmeyskaya 22A, St. Petersburg, 190103, Russia
>>>>>>
>>>>>
>>>>>
>>>>
>>>
>>>
>>
>>
>
>
More information about the dio-dev
mailing list