Re: [Doxygen-develop] Fortran code test suite
Brought to you by:
dimitri
From: <pau...@no...> - 2011-03-16 13:48:57
|
Hi Oleg, We have working with Doxygen to generate DITA XML. When we started this we generated C++ reference tests for each tag (and tag combinations) then we could compare Doxygen's DITA XML output with a reference output and test if there were any regressions. This was integrated into our CI server. We are in the process of preparing a patch for the latest DITA support in Doxygen and updating the DITA specialisation to version 0.7.0 (currently 0.6.0 is available at http://sourceforge.net/projects/dita-ot/files/Plug-in_C%2B%2B%20APIRef/ ). Our DITA XML test suite is a bit old and needs some work to align it with all the stuff we now support with the current (patched) version of Doxygen. It is, of course, C++ input and DITA XML output but there is no reason why it could not be extended to other input languages and output formats. We found it very useful for detecting errors, especially regressive ones. We'd be quite happy to share this with the Doxygen community if people think that it would be useful. If so I'll see if we can spend a bit of time getting it into good shape. Best regards, Paul. 8<------------------------------->8 Paul Ross Senior Technology Architect System Documentation Tools D RD SD SSS System Doc & Tools GB Nokia London, UK. > -----Original Message----- > From: ext Oleg Batrashev [mailto:og...@gm...] > Sent: 14 March 2011 18:13 > To: Arnold.Steve > Cc: dox...@li... > Subject: Re: [Doxygen-develop] Fortran code test suite > > Hi, > > > I found there is an xml output from Doxygen. Has anyone tried to > write > > regression tests based on it, using XPath or any similar technique? > > It seems to be good tool to verify parsers. > I've made a try and quite satisfied by now. > https://github.com/ogbash/doxygen-tests > > Currently there are only 8 tests, where 5 are taken from bug reports. > Release-1.7.1 gives 7 failures. > Release-1.7.3-20110217 gives 3 failures out of 8 tests. > > runTest (tests.blocks.interface_abst_f90) ... ok > runTest (tests.blocks.interface_gen_f90) ... ok > runTest (tests.blocks.interface_op_f90) ... ok > runTest (tests.blocks.interface_spec_f90) ... ok > runTest (tests.syntax.label_endsub) ... ok > runTest (tests.linecont.parcomment_f) ... FAIL > runTest (tests.linecont.parcomment_f90) ... FAIL > runTest (tests.linecont.varcomment_f90) ... FAIL > > 89e2c4 from https://github.com/ogbash/doxygen-f90 gives no errors. > > Writing tests is not trivial but managable after making yourself > familiar to XPath syntax. > For example, testing that 'example' subroutine exists in > 'parcomment.f' file and its 'val' parameter is documented: > > file = self.getFile("parcomment.f") > example = self.getSubprogram(file, "example") > > desc = self.getParamDescription(example, "val") > self.assertEqual(desc.getContent().strip(), "[in] scalar double > input") > > Testing type of the variable 'as' with XPath: > > var = self.getModuleVariable(varcomment, "as") > self.assertEqual(var.xpathEval("type")[0].getContent().strip(), > "integer, dimension(:,:), pointer") > > > Any suggestions, comments, or even new tests are welcome, > Oleg > > ----------------------------------------------------------------------- > ------- > Colocation vs. Managed Hosting > A question and answer guide to determining the best fit > for your organization - today and in the future. > http://p.sf.net/sfu/internap-sfd2d > _______________________________________________ > Doxygen-develop mailing list > Dox...@li... > https://lists.sourceforge.net/lists/listinfo/doxygen-develop |