← Back to team overview

kicad-developers team mailing list archive

Re: [PATCH] Fuzzable PCB parsing test harness

 

Hi Wayne,

Could you try to build with VERBOSE=1 so I can see what the failed link command line looks like and compare to Jenkins?

Cheers,

John

On 17 October 2018 13:17:34 BST, Wayne Stambaugh <stambaughw@xxxxxxxxx> wrote:
>Hey John,
>
>Close but no cigar.  I'm still getting a single link error.
>
>C:/msys64/mingw32/bin/../lib/gcc/i686-w64-mingw32/7.3.0/../../../../i686-w64-mingw32/bin/ld.exe:
>../../common/libcommon.a(marker_base.cpp.obj):marker_base.cpp:(.text+0xee9):
>undefined reference to `DRC_ITEM::ShowHtml(EDA_UNITS_T) const'
>collect2.exe: error: ld returned 1 exit status
>[100%] Built target eeschema
>make[2]: ***
>[qa/pcb_parse_input/CMakeFiles/qa_pcb_parse_input.dir/build.make:163:
>qa/pcb_parse_input/qa_pcb_parse_input.exe] Error 1
>make[1]: *** [CMakeFiles/Makefile2:3431:
>qa/pcb_parse_input/CMakeFiles/qa_pcb_parse_input.dir/all] Error 2
>make[1]: *** Waiting for unfinished jobs....
>[100%] Built target pcbnew_kiface
>make: *** [Makefile:141: all] Error 2
>
>
>On 10/16/2018 9:28 AM, John Beard wrote:
>> Hi Wayne,
>> 
>> I think I might have fixed the ordering in the link libraries (at
>> least, it now builds on Jenkins).
>> 
>> This is just the first patch to focus on the build error, I'll rebase
>> the other docs stuff later if/when it works.
>> 
>> Cheers,
>> 
>> John
>> On Fri, Oct 12, 2018 at 7:58 PM Wayne Stambaugh
><stambaughw@xxxxxxxxx> wrote:
>>>
>>> John,
>>>
>>> This patch fails to link on windows.  I've attached the build error.
>>>
>>> Wayne
>>>
>>> On 10/9/2018 9:53 AM, John Beard wrote:
>>>> Hi,
>>>>
>>>> Here is an update patch that rebases over the commenting out of
>>>> pcb_test_window, polygon_triangulation and polygon_generator and
>fixes
>>>> a link error to do with base_screen.cpp.
>>>>
>>>> Cheers,
>>>>
>>>> John
>>>> On Mon, Oct 8, 2018 at 5:27 PM John Beard <john.j.beard@xxxxxxxxx>
>wrote:
>>>>>
>>>>> Sorry,
>>>>>
>>>>> I wrote "ms", I meant "us" - the times are in the
>handful-of-millsecond range.
>>>>>
>>>>> Cheers,
>>>>>
>>>>> John
>>>>> On Mon, Oct 8, 2018 at 5:24 PM John Beard <john.j.beard@xxxxxxxxx>
>wrote:
>>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> This is a patch to add a test program that allows to parse a
>Pcbnew
>>>>>> file from command line params or stdin. This means you can use it
>for
>>>>>> fuzz testing.
>>>>>>
>>>>>> I have done a little bit of fuzz testing so far (8 million execs,
>>>>>> about 70% of a cycle), and have not found any crashes, but I can
>make
>>>>>> it hang in a few ways. These all seem to be in streams which
>contain
>>>>>> nul's. This is actually not reachable from the UI due to reading
>files
>>>>>> into wxStrings first (nut quite sure why), whereas this program
>uses
>>>>>> the parser directly. Thus, the bug is probably not very critical.
>>>>>> Example hanging input attached (note there's a nul in it, so your
>>>>>> editor may or may not like that).
>>>>>>
>>>>>> This program can also be fed a number of files, which means it
>could
>>>>>> be used for automated testing that all files in a batch can be
>parsed
>>>>>> successfully, and also provides a handy way to put GDB on a
>program
>>>>>> when debugging the parser against specific input.
>>>>>>
>>>>>> There is timing on the parsing too, mostly for interest (use the
>-v
>>>>>> flag). It takes about 150-3000ms per FP on my machine for the FPs
>in
>>>>>> Connector_PinSocket_2.54mm.pretty.
>>>>>>
>>>>>> There's also some centralisation of some QA-related utils into a
>>>>>> qa_utils library.
>>>>>>
>>>>>> Cheers,
>>>>>>
>>>>>> John
>>>>>>
>>>>>> _______________________________________________
>>>>>> Mailing list: https://launchpad.net/~kicad-developers
>>>>>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>>>>>> Unsubscribe : https://launchpad.net/~kicad-developers
>>>>>> More help   : https://help.launchpad.net/ListHelp
>>> _______________________________________________
>>> Mailing list: https://launchpad.net/~kicad-developers
>>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>>> Unsubscribe : https://launchpad.net/~kicad-developers
>>> More help   : https://help.launchpad.net/ListHelp

Follow ups

References