PySide Bugzilla Closed for New Bugs

PySide is now a Qt Add-on and uses the Qt Project's JIRA Bug Tracker instead of this Bugzilla instance. This Bugzilla is left for reference purposes.

Bug 80 - Error in simple typesystem: "QFSFileEngine::open: No file name specified"
: Error in simple typesystem: "QFSFileEngine::open: No file name specified"
Status: CLOSED FIXED
Product: PySide
Classification: Unclassified
Component: BoostPythonGenerator
: HEAD
: All All
: P5 normal
Assigned To: renato filho
:
:
:
  Show dependency treegraph
 
Reported: 2009-10-21 12:57 EEST by Anderson Lizardo
Modified: 2009-11-24 15:34 EET (History)
5 users (show)

See Also:


Attachments
Minimal test case for this bug (406 bytes, application/x-gzip)
2009-10-21 12:57 EEST, Anderson Lizardo
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Anderson Lizardo 2009-10-21 12:57:12 EEST
Created attachment 20 [details]
Minimal test case for this bug

Sometimes, while creating some simple typesystem files, I see these errors
generated by the generator:

WARNING :: failed to write log file: 'out/mjb_rejected_classes.log'
WARNING :: failed to write log file: 'out/mjb_rejected_enums.log'
WARNING :: failed to write log file: 'out/mjb_rejected_functions.log'
WARNING :: failed to write log file: 'out/mjb_rejected_fields.log'

followed by these:

QFSFileEngine::open: No file name specified
WARNING :: failed to open file '' for writing

The first set of errors are actually because the output directory (as set by
the --output-directory option) is not created before trying to write to it. If
I create the output directory before running the command, the first error
messages disappear.

The last two error messages seemed more tricky to reproduce, but I could reduce
the case to this one:

You have two typesystem files, say typesystem_foo.xml and typesystem_bar.xml.
One includes the other, using this line:

<load-typesystem name="typesystem_foo.xml" generate="no"/>

Then, on typesystem_foo.xml you have a "value type", say "Foo":

<value-type name="Foo"/>

The header file passed to generatorrunner can contain just the declaration for
Foo:

class Foo {};

In these conditions, running "generatorrunner --generatorSet=boostpython test.h
typesystem_bar.xml" will trigger the error.

I attached a minimal test case showing the problem. To try it, unpack the
tarball and run:

$ make run

To run the test case. You need just the "generatorrunner" and
"boostpythongenerator" packages installed.
Comment 2 renato filho 2009-11-18 17:47:57 EET
merged on mainline
Comment 3 renato filho 2009-11-24 15:34:39 EET
fixed on  PySide release  0.2.2.