[Kmymoney-devel] CSV Importer Plugin
aga
aganderson at ukonline.co.uk
Thu Feb 25 19:24:39 CET 2010
Following up my own post from a couple of days ago, with no progress here.
I'm stuck.
In brief, I've extracted my date check/format routine from the main logic, to
enable unit testing. It is now in a separate class. I'm able to compile and
run my csv importer and KMM, with the date check/format as a library.
However, if I enable build test, the make fails as before -
"
> Linking CXX executable kmymoneytest
> CMakeFiles/kmymoneytest.dir/plugins/csvimport/csvdatetest.o: In function
> `CsvDateTest::testDateConv()':
> /home/aga/bin/kmymoney-3.96.0/kmymoney/plugins/csvimport/csvdatetest.cpp:59
> : undefined reference to `CnvDate::CnvDate()'
> /home/aga/bin/kmymoney-3.96.0/kmymoney/plugins/csvimport/csvdatetest.cpp:61
> : undefined reference to `CnvDate::convDate(QStri
> ng, QString*)'
> /home/aga/bin/kmymoney-3.96.0/kmymoney/plugins/csvimport/csvdatetest.cpp:62
> : undefined reference to `CnvDate::convDate(QString, QString*)'
> etc..."
Disable build tests and all is fine.
The difference I see is that, without build tests, a static library is
created, whereas with build tests, a shared library is attempted, but won't
link.
I'm afraid I need help here, as I've exhausted my ideas.
Thanks
Allan
On Tuesday 23 Feb 2010 22:25:24 aga wrote:
> On Tuesday 23 Feb 2010 11:19:28 Cristian Oneţ wrote:
> <snip>
>
> > >> > Just thinking ahead slightly, so far I've been working on a
> > >> > free-standing version so as to get a simple executable and not mess
> > >> > things up in the process. What I'm unclear on is integrating back
> > >> > into KMM.
> > >> >
> > >> > Is it something like 'make test' and then run as normal, or what?
> > >>
> > >> To run the tests, you have to enable the tests in cmake or ccmake.
> > >> Then, you make and make install, as usual, and finally you run make
> > >> test
> > >
> > > I've got my own unit tests working and am moving back to KMM.
> > >
> > > Sorry about this, but
> > > aga at eve2:~/bin/kmymoney-3.96.0/build> make test
> > > Running tests...
> > > Start processing tests
> > > Test project /home/aga/bin/kmymoney-3.96.0/build
> > > No tests were found!!!
> > >
> > > I've googled and nabbled but haven't found how to *enable* the tests in
> > > KMM, although there was a mention of it in a CMakeLists.txt.
> >
> > Run ccmake path_to_source look for KDE4_BUILD_TESTS and set it to ON
> > or just run cmake with -D option to define the same value.
> >
> > Regards,
> > Cristian
>
> Sorry, but I'm back again, and a bit stuck. I got the tests to run OK,
> except mine. After running the ccmake to enable testing, when I run make
> with my test included, it fails at
> "
> Linking CXX executable kmymoneytest
> CMakeFiles/kmymoneytest.dir/plugins/csvimport/csvdatetest.o: In function
> `CsvDateTest::testDateConv()':
> /home/aga/bin/kmymoney-3.96.0/kmymoney/plugins/csvimport/csvdatetest.cpp:59
> : undefined reference to `CnvDate::CnvDate()'
> /home/aga/bin/kmymoney-3.96.0/kmymoney/plugins/csvimport/csvdatetest.cpp:61
> : undefined reference to `CnvDate::convDate(QStri
> ng, QString*)'
> /home/aga/bin/kmymoney-3.96.0/kmymoney/plugins/csvimport/csvdatetest.cpp:62
> : undefined reference to `CnvDate::convDate(QString, QString*)'
> etc..."
>
> The background is that the part of the logic I want to test is date
> validity. Initially, this was just a part of the main GUI/processing
> logic. When I started on unit test, I decided to split off the date
> testing into a separate class and module - ConvDate - which was used by
> the main program and also by the unit test. Before the make test is run,
> the make runs successfully and KMM launches correctly. After make test,
> when I run make again, I get the above linking problem, and the unit test
> - csvdatetest.cpp - doesn't seem to find ConvDate.
>
> I've done a lot of tinkering, but can't get past these undefined errors.
> I've no doubt I'm doing something stupid, or not doing something that
> should be obvious. I've built the unit test in the same folder in
> plugins, so suspect that mymoneytest doesn't know where to look for the
> missing module.
>
> Should my test be there under plugins, or with the other tests? But
> then.....
>
> Help, please!
>
> Allan again
>
> _______________________________________________
> KMyMoney-devel mailing list
> KMyMoney-devel at kde.org
> https://mail.kde.org/mailman/listinfo/kmymoney-devel
>
More information about the KMyMoney-devel
mailing list