Re: Fortran code test suite

<[email protected]>
Newsgroups gmane.text.doxygen.devel
Message-ID <6BC5708DFC06F04C87922E49A043E7A70BB8AEBC@008-AM1MPN1-032.mgdnok.nokia.com>
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:[email protected]]
> Sent: 14 March 2011 18:13
> To: Arnold.Steve
> Cc: [email protected]
> 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
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/doxygen-develop

------------------------------------------------------------------------------
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.