ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Igor Sapego <isap...@apache.org>
Subject Re: Can't run CPP tests locally on linux machine
Date Mon, 23 Apr 2018 08:50:46 GMT
Hello, Nikolay,

CPP_STAGING is only needed for TC as we the TC obviously
does not have root access on agents and thus can't install
Ignite to /usr/local directory.

Do you run your tests from the VM?

Any test failures are not OK. Can you give me a full message?



Best Regards,
Igor

On Fri, Apr 20, 2018 at 7:33 PM, Nikolay Izhikov <nizhikov@apache.org>
wrote:

> I set one more enviromnent variable and now got success tests run.
> I see following output:
>
> *** 2 failures are detected in the test module "identity_resolver_test"
>
> Is it OK?
>
>
>
> В Пт, 20/04/2018 в 19:28 +0300, Nikolay Izhikov пишет:
> > Hello, Igor.
> >
> > As far as I can see from the Team City settings the actual command to
> configure current master sources is
> >
> > `./configure --enable-odbc --enable-tests --prefix=%env.CPP_STAGING%
> CPPFLAGS=-I%env.CPP_STAGING%/include LDFLAGS=-L%env.CPP_STAGING%/lib`
> >
> > Can you give me content of CPP_STAGING directory?
> > I was able to build cpp sources with latest ubuntu boost and latest
> teamcity_boost [1], teamcity_messages files [2].
> > After that I still got error when running
> >
> > export LD_LIBRARY_PATH=$JAVA_HOME/jre/lib/amd64/server
> > export IGNITE_NATIVE_TEST_CLASSPATH=true
> > export IGNITE_NATIVE_TEST_CPP_CONFIG_PATH=/home/user/src/ignite/
> modules/platforms/cpp/core-test/config
> > ./ignite-tests
> >
> > I see Ignite start messages and after it:
> >
> > ```
> > [20-04-2018 16:22:51][INFO ][main][IgnitePluginProcessor]   ^--
> Copyright(C) Apache Software Foundation
> > [20-04-2018 16:22:51][INFO ][main][IgnitePluginProcessor]
> > unknown location(0): fatal error: in "BinaryIdentityResolverTestSuit
> e/IdentityEquilityWithoutGuid": memory access violation at address:
> 0x00000008: no mapping at fault address
> > src/binary_identity_resolver_test.cpp(316): last checkpoint:
> "IdentityEquilityWithoutGuid" entry.
> > ```
> >
> > I'm not sure I move to the right direction.
> > I just want to be able to run CPP tests locally.
> >
> > [1] https://github.com/JetBrains/teamcity-cpp/blob/master/
> boost/teamcity_boost.cpp
> > [2] https://github.com/JetBrains/teamcity-cpp/blob/master/
> common/teamcity_messages.cpp
> >
> >
> > В Чт, 19/04/2018 в 14:11 +0300, Nikolay Izhikov пишет:
> > > Igor.
> > >
> > > Following settings helps to remove some error, but I still can't make
> all things works.
> > > Is it right way to get things work?
> > >
> > > ```
> > > > export LDFLAGS='-L/usr/lib/x86_64-linux-gnu/'
> > > > export LIBS='-lboost_unit_test_framework'
> > > > libtoolize && aclocal && autoheader && automake
--add-missing &&
> autoreconf
> > > > ./configure --enable-odbc --enable-tests
> > > > make
> > >
> > > ```
> > >
> > > Now, It seems that compiler can found references to boost functions.
> > > The only error I see from the output is
> > >
> > > make[3]: вход в каталог «/home/dragon/src/ignite/
> modules/platforms/cpp/odbc-test»
> > >   CXXLD    ignite-odbc-tests
> > > /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/Scrt1.o: In
> function `_start':
> > > (.text+0x20): undefined reference to `main'
> > > collect2: error: ld returned 1 exit status
> > >
> > > I work on Ubuntu linux x64:
> > >
> > > ```
> > > > uname -a
> > >
> > > Linux host 4.13.0-38-generic #43-Ubuntu SMP Wed Mar 14 15:20:44 UTC
> 2018 x86_64 x86_64 x86_64 GNU/Linux
> > > ```
> > >
> > > В Чт, 19/04/2018 в 13:40 +0300, Nikolay Izhikov пишет:
> > > > Hello, Igor.
> > > >
> > > > Still doesn't work.
> > > >
> > > > I removed files you mentioned and got following error messages:
> > > >
> > > > make[3]: вход в каталог «/home/dragon/src/ignite/
> modules/platforms/cpp/odbc-test»
> > > >   CXXLD    ignite-odbc-tests
> > > > /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/Scrt1.o:
> In function `_start':
> > > > (.text+0x20): undefined reference to `main'
> > > > src/cursor_test.o: In function `CheckCursorNeedUpdate(ignite:
> :odbc::Cursor&)':
> > > > /home/dragon/src/ignite/modules/platforms/cpp/odbc-test/src/cursor_test.cpp:77:
> undefined reference to `boost::unit_test::unit_test_
> log_t::set_checkpoint(boost::unit_test::basic_cstring<char const>,
> > > > unsigned long, boost::unit_test::basic_cstring<char const>)'
> > > >
> > > >
> > > > В Чт, 19/04/2018 в 13:15 +0300, Igor Sapego пишет:
> > > > > They can be executed locally, and no, you don't need any library.
> > > > > It is just that Teamcity plugin depends on exact version of Boost,
> > > > > as I mentioned before. You can disable it if you are going to run
> > > > > tests locally.
> > > > >
> > > > > For this you should remove from these files
> > > > > platform/cpp/core-test/Makefile.am and
> > > > > platform/cpp/odcs-test/Makefile.am
> > > > >
> > > > > following lines:
> > > > > src/teamcity_messages.cpp \
> > > > > src/teamcity_boost.cpp \
> > > > >
> > > > >
> > > > > Best Regards,
> > > > > Igor
> > > > >
> > > > > On Wed, Apr 18, 2018 at 6:17 PM, Nikolay Izhikov <
> nizhikov@apache.org>
> > > > > wrote:
> > > > >
> > > > > > Igor.
> > > > > >
> > > > > > I tried to comment unexisted header and got following error:
> > > > > >
> > > > > > src/teamcity/teamcity_boost.cpp: In constructor ‘JetBrains::
> > > > > > TeamcityFormatterRegistrar::TeamcityFormatterRegistrar()’:
> > > > > > src/teamcity/teamcity_boost.cpp:72:100: error: invalid
> new-expression of
> > > > > > abstract class type ‘JetBrains::TeamcityBoostLogFormatter’
> > > > > >              boost::unit_test::unit_test_log.set_formatter(new
> JetBrains::
> > > > > > TeamcityBoostLogFormatter());
> > > > > >
> > > > > > Do I need some additional team city library for tets?
> > > > > > Can tests for odbc be executed locally?
> > > > > >
> > > > > > В Ср, 18/04/2018 в 16:29 +0300, Igor Sapego пишет:
> > > > > > > I think it is better to remove this strong dependency on
the
> > > > > > > exact Boost version at all. I've filed a ticket for that:
[1].
> > > > > > >
> > > > > > > [1] - https://issues.apache.org/jira/browse/IGNITE-8310
> > > > > > >
> > > > > > > Best Regards,
> > > > > > > Igor
> > > > > > >
> > > > > > > On Wed, Apr 18, 2018 at 4:20 PM, Nikolay Izhikov <
> nizhikov@apache.org>
> > > > > >
> > > > > > wrote:
> > > > > > > > Hello, Igor.
> > > > > > > >
> > > > > > > > Thanks!
> > > > > > > > I will try to find boost-1.58.0 distribution and setup
it.
> > > > > > > >
> > > > > > > > > 2. Well, it is the old issue that we are working
only with
> the
> > > > > >
> > > > > > specific> Boost version (1.58.0). You can try commenting
out the
> following
> > > > > > line:>
> > > > > > > >
> > > > > > > > Should we mention it in DEVNOTES?
> > > > > > > > Should we add some readme to setup development environment
> for CPP
> > > > > >
> > > > > > module?
> > > > > > > >
> > > > > > > > В Ср, 18/04/2018 в 16:11 +0300, Igor Sapego пишет:
> > > > > > > > > Hi, Nikolay,
> > > > > > > > >
> > > > > > > > > 1. Yes, it's OK;
> > > > > > > > > 2. Well, it is the old issue that we are working
only with
> the
> > > > > >
> > > > > > specific
> > > > > > > > > Boost version (1.58.0). You can try commenting
out the
> following
> > > > > >
> > > > > > line:
> > > > > > > > >
> > > > > > > > > #include <boost/test/unit_test_suite_impl.hpp>
> > > > > > > > >
> > > > > > > > > in teamcity_boost.cpp files to make it working
with your
> version.
> > > > > > > > >
> > > > > > > > > Best Regards,
> > > > > > > > > Igor
> > > > > > > > >
> > > > > > > > > On Wed, Apr 18, 2018 at 3:55 PM, Nikolay Izhikov
<
> > > > > >
> > > > > > nizhikov@apache.org>
> > > > > > > > > wrote:
> > > > > > > > >
> > > > > > > > > > Hello, Igniters.
> > > > > > > > > >
> > > > > > > > > > Is there way to run CPP tests locally on
linux machine?
> > > > > > > > > >
> > > > > > > > > > I'm trying to follow DEVNOTES.txt but doesn't
get lucky.
> > > > > > > > > >
> > > > > > > > > > 1. `./configure --enable-odbc --enable-tests`
[1]
> > > > > > > > > > I see
> > > > > > > > > >
> > > > > > > > > > "rm: cannot remove 'core': Is a directory"
> > > > > > > > > >
> > > > > > > > > > Is it OK?
> > > > > > > > > >
> > > > > > > > > > 2. `make` [2]
> > > > > > > > > >
> > > > > > > > > > I got following error:
> > > > > > > > > >
> > > > > > > > > > "src/teamcity/teamcity_boost.cpp:22:10:
fatal error:
> > > > > > > > > > boost/test/unit_test_suite_impl.hpp: Нет
такого файла
> или каталога
> > > > > > > > > >  #include <boost/test/unit_test_suite_impl.hpp>"
> > > > > > > > > >
> > > > > > > > > > I've installed boost-dev - `sudo apt-get
install
> libboost-all-dev`
> > > > > > > > > > But, there is no `unit_test_suite_impl.hpp`
in
> > > > > >
> > > > > > /usr/header/boost/test.
> > > > > > > > > > Without tests it all compiles OK.
> > > > > > > > > >
> > > > > > > > > > What should I do to be able run tests for
CPP locally?
> > > > > > > > > >
> > > > > > > > > > [1] https://gist.github.com/nizhikov/
> > > > > >
> > > > > > 8a451b73db17fa05d10992ae50524b7b
> > > > > > > > > > [2] https://gist.github.com/nizhikov/
> > > > > >
> > > > > > 9d0da202c3e52f3ee1cd5bc2053e1073
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message