← Back to team overview

dolfin team mailing list archive

Re: buildbot failure in FEniCS Buildbot on dolfin-jaunty-amd64

 

On 7 October 2010 23:53, Johan Hake <johan.hake@xxxxxxxxx> wrote:
> On Thursday October 7 2010 14:28:25 Kristian Ølgaard wrote:
>> On 7 October 2010 22:44, Johan Hake <johan.hake@xxxxxxxxx> wrote:
>> > On Thursday October 7 2010 13:06:22 Kristian Ølgaard wrote:
>> >> This bug should be fixed now. It was introduced when commenting the
>> >> line:
>> >>
>> >> //%feature("autodoc", "1");
>> >>
>> >> in dolfin/swig/dolfin.i
>> >>
>> >> I did this to avoid the Swig generated docstring signatures which make
>> >> Sphinx unhappy, formatting issues, when building the programmer's
>> >> reference in fenics-docs.
>> >>
>> >> For some reason the class extensions in the *_post.i files where not
>> >> added to the cpp.py module by Swig if the 'autodoc' line was absent.
>> >
>> >> However, by adding lines like:
>> > This does not make sense. I tested on my computer and the _pre and _post
>> > files get included.
>>
>> What I meant was that the code in the extensions are not added to the
>> code for the classes in cpp.py.
>> The line:
>> Progress.__set = new_instancemethod(_cpp.Progress___set,None,Progress)
>>
>> is there alright.
>>
>> If the docstrings are switched on, I both get the code in the class
>> and the new_instancemethod line.
>
> Ok.
>
>> > The trouble with the buildbot is that it is not happy with extending
>> > classes using double underscore attributes. This is not a problem when
>> > the method is added to the Python proxy in cpp.py, as it is when an
>> > automatic docstring is added. But when these are turned off it gets
>> > added using:
>> >
>> >  Progress.__set = new_instancemethod(_cpp.Progress___set,None,Progress)
>>
>> as I point out above, this line is always there, at least when I build
>> on my machine.
>>
>> > it seems like the Python interpreter get confused and cannot find the
>> > "private" attribute of __set in this case.
>> >
>> > Changing __set to _set in log_post.i fixed the problem.
>>
>> OK.
>>
>> >> %feature("docstring") dolfin::Array::array "Missing docstring";
>> >>
>> >> before the extensions the problem disappeared.
>> >
>> > I guess I can revert these changes, or do you need them for other stuff?
>>
>> We need them if we want the docstrings :) For the private functions it
>> doesn't matter, but some functions are public so we should provide
>> docstrings for those.
>
> Nice! Now I see what you have done ;) You are able to include a stub to C++
> extended classes.
>
> But do you need docstrings on protected methods? Is this needed to Sphinx does
> not complain?

The only 'problem' I had with Sphinx is that it would issue warnings
due to the formatting of the Swig autodoc signatures. This is why I
switched it off. The autodoc functionality of Sphinx will only pull in
documentation for the public members so we only really need it for
public members and methods. The only thing it might be useful for is
if someone opens the cpp.py file and inspect the code + docs, but I
don't know how useful that will be assuming such an individual would
know what to look for anyway.

Kristian

> Johan
>
>> Kristian
>>
>> > Johan
>> >
>> >> Kristian
>> >>
>> >> On 7 October 2010 01:51,  <buildbot@xxxxxxxxxx> wrote:
>> >> > The Buildbot has detected a new failure of dolfin-jaunty-amd64 on
>> >> > FEniCS Buildbot. Full details are available at:
>> >> >  http://fenicsproject.org:8080/builders/dolfin-jaunty-amd64/builds/977
>> >> >
>> >> > Buildbot URL: http://fenicsproject.org:8080/
>> >> >
>> >> > Buildslave for this Build: jaunty-amd64
>> >> >
>> >> > Build Reason:
>> >> > Build Source Stamp: HEAD
>> >> > Blamelist: Kristian B. =C3=98lgaard
>> >> >
>> >> > BUILD FAILED: failed dolfin check
>> >> >
>> >> > sincerely,
>> >> >  -The Buildbot
>> >> >
>> >> >
>> >> > _______________________________________________
>> >> > Mailing list: https://launchpad.net/~dolfin
>> >> > Post to     : dolfin@xxxxxxxxxxxxxxxxxxx
>> >> > Unsubscribe : https://launchpad.net/~dolfin
>> >> > More help   : https://help.launchpad.net/ListHelp
>> >>
>> >> _______________________________________________
>> >> Mailing list: https://launchpad.net/~dolfin
>> >> Post to     : dolfin@xxxxxxxxxxxxxxxxxxx
>> >> Unsubscribe : https://launchpad.net/~dolfin
>> >> More help   : https://help.launchpad.net/ListHelp
>



References