Hi Henrik,

I am writing a unit test for this change in
drizzle/unittests/option_context.cc

May I please ask you how to run this unit test file? The documentation on
http://docs.drizzle.org/testing/test-run.html#test-run-label only talks
about the tests contained in drizzle/tests directory.

I want to add a test in option_context.cc like:

ctx("command-option", po::value<bool>(), "Command line option");
const char *options[]= {
    "--command-option=test"
  };
BOOST_REQUIRE_EQUAL(1, vm["command-option"].as<bool>());

Wajahat Abbassi

On 2 April 2012 14:07, Henrik Ingo <henrik.i...@avoinelama.fi> wrote:

> Excellent! I always like one-liner fixes, it shows that things are
> easy if you just read manual first :-)
>
> please create branch and send merge request.
>
> On Mon, Apr 2, 2012 at 4:01 PM, Wajahat Abbassi
> <wajahat.abba...@gmail.com> wrote:
> > Hi Henrik,
> >
> > Thanks again for the help. I think I have fixed it. Let me try to
> elaborate
> > my fix:
> >
> > I put the following logging in drizzled.cc and recompiled drizzle:
> >
> > if (vm.count("no-defaults")) {
> >     cout << "Do not pick default conf: "
> >  << vm["no-defaults"].as<bool>() << ".\n";
> > } else {
> >     cout << "pick default conf .\n";
> > }
> >
> > Then I restarted drizzle server and drizzle client. Irrespective of the
> > 'no-defaults' option, the code always go inside the if block rather than
> the
> > else block. But the value of  vm["no-defaults"].as<bool>() is 'false' if
> I
> > don't provide "--no-defaults" in the command line. If I provide
> > "--no-defaults" in the command line then  vm["no-defaults"].as<bool>() is
> > true:
> >
> > ./drizzled/drizzled     ==> vm["no-defaults"].as<bool>()  ==> false
> > ./drizzled/drizzled     ==> vm["no-defaults"].as<bool>()  ==> true
> >
> >
> > So then I went to read Boost documentation from
> >
> http://www.boost.org/doc/libs/1_49_0/doc/html/program_options/tutorial.html
> > and I figured out that the boost program options have not been used in
> > proper context in that 'if' statement. So I have replaced the code:
> >
> > Old code:  if (vm.count("no-defaults"))
> >
> > New Code:   if (! vm["no-defaults"].as<bool>())
> >
> >
> > I recompiled drizzle and everything looks good now. Now drizzle ignores
> > drizzled.cnf if we pass --no-defaults in the command line options.
> >
> > If you give me green signal then I can go ahead with creating the branch
> for
> > this and propose it for merging.
> >
> > In the mean time I will do further testing.
> >
> > Thanks for the help.
> >
> > Wajahat Abbassi
> >
> >
> >
> >
> > On 2 April 2012 13:41, Henrik Ingo <henrik.i...@avoinelama.fi> wrote:
> >>
> >> Seems like the if statement is not correct either: If "no-defaults" is
> >> true, then the config file should *not* be read.
> >>
> >> Otoh, then you have the opposite problem, if no-defaults is false /
> >> not set, then of course the below code *should* be executed. So you
> >> still need to trace where it is set. (Or maybe it is not set / handled
> >> anywhere?)
> >>
> >> henrik
> >>
> >> On Mon, Apr 2, 2012 at 2:27 PM, Wajahat Abbassi
> >> <wajahat.abba...@gmail.com> wrote:
> >> > Hi Henrik,
> >> >
> >> > Thank you so much for the help. I have figured out what is going
> wrong.
> >> > Inside the drizzled/drizzled.cc file, the vm.count("no-defaults") is
> >> > always
> >> > getting true event if we specify --no-defaults options. This results
> in
> >> > execution of following code:
> >> >
> >> >   if (vm.count("no-defaults"))
> >> >   {
> >> >     printf("yessssssssssss");
> >> >
> >> >     fs::path system_config_file_drizzle(system_config_dir);
> >> >     system_config_file_drizzle /= "drizzled.cnf";
> >> >     defaults_file_list.insert(defaults_file_list.begin(),
> >> > system_config_file_drizzle.file_string());
> >> >
> >> >     fs::path config_conf_d_location(system_config_dir);
> >> >     config_conf_d_location /= "conf.d";
> >> >
> >> >     CachedDirectory
> config_conf_d(config_conf_d_location.file_string());
> >> >     if (not config_conf_d.fail())
> >> >     {
> >> >
> >> > BOOST_FOREACH(CachedDirectory::Entries::const_reference iter,
> >> > config_conf_d.getEntries())
> >> >       {
> >> >         string file_entry(iter->filename);
> >> >         if (not file_entry.empty() && file_entry != "." && file_entry
> !=
> >> > "..")
> >> >           defaults_file_list.push_back((config_conf_d_location /
> >> > file_entry).file_string());
> >> >       }
> >> >     }
> >> >   }
> >> >
> >> >
> >> > Now I will debug, why vm.count("no-defaults") is getting true always.
> I
> >> > deliberately denied entry to this code snippet and I can see that the
> >> > configuration file doesn't picked up then. This looks good. So the
> >> > problem
> >> > is just in the setting of vm.count("no-defaults")
> >> >
> >> > Thanks.
> >> >
> >> > Wajahat Abbassi.
> >> >
> >> >
> >> >
> >> > On 2 April 2012 11:48, Henrik Ingo <henrik.i...@avoinelama.fi> wrote:
> >> >>
> >> >> Hi Wajahat
> >> >>
> >> >> Looks good. You are on the right track. Note that there are a few
> >> >> options like --no-defaults that drizzled should process early on,
> >> >> earlier than normal options. The point is, for other options drizzled
> >> >> will read the config files first and then process options. But for
> >> >> no-defaults of course it has to evaluate the option before it reads
> >> >> any config file.
> >> >>
> >> >> henrik
> >> >>
> >> >> On Mon, Apr 2, 2012 at 1:04 PM, Wajahat Abbassi
> >> >> <wajahat.abba...@gmail.com> wrote:
> >> >> > Hi Henrik,
> >> >> >
> >> >> > I am debugging that --no-defaults bug since yesterday. I can see
> that
> >> >> > this
> >> >> > option is not working. i.e.
> >> >> >
> >> >> > waj@wajahat:~/drizzle/drizzled$ strace ./drizzled --no-defaults
> 2>&1|
> >> >> > grep
> >> >> > cnf
> >> >> > open("/usr/local/etc/drizzle/drizzled.cnf", O_RDONLY) = 3
> >> >> >
> >> >> > If I remove the drizzled.cnf from the path, then strace shows:
> >> >> >
> >> >> > waj@wajahat:~/drizzle/drizzled$ strace ./drizzled --no-defaults
> 2>&1|
> >> >> > grep
> >> >> > cnf
> >> >> > open("/usr/local/etc/drizzle/drizzled.cnf", O_RDONLY) = -1
> >> >> >
> >> >> > Initially I was thinking that it might loads up the configuration
> but
> >> >> > doesn't use them if --no-defaults is specified. But I tried setting
> >> >> > up
> >> >> > few
> >> >> > parameters in drizzled.cnf and 'drizzled' picks up those parameter
> >> >> > even
> >> >> > if I
> >> >> > specify --no-defaults.
> >> >> >
> >> >> > But I analyzed drizzled/main.cc, drizzled/drizzled.cc and most of
> the
> >> >> > files
> >> >> > in drizzled directory but couldn't find location where 'drizzled'
> >> >> > loads
> >> >> > up
> >> >> > all the configuration. I will keep looking the code, at least I am
> >> >> > getting
> >> >> > better understanding of the code through this code analyses.
> >> >> >
> >> >> > Thanks
> >> >> >
> >> >> > Wajahat Abbassi
> >> >> >
> >> >> >
> >> >> >
> >> >> > On 31 March 2012 17:11, Henrik Ingo <henrik.i...@avoinelama.fi>
> >> >> > wrote:
> >> >> >>
> >> >> >> On Sat, Mar 31, 2012 at 12:56 PM, Wajahat Abbassi
> >> >> >> <wajahat.abba...@gmail.com> wrote:
> >> >> >> > I have a question please. If I make any change in the Drizzle
> code
> >> >> >> > then
> >> >> >> > I
> >> >> >> > need to recompile again in order to see the effect of that code
> >> >> >> > change
> >> >> >> > please? If the answer is yes, then is there any quick way of
> >> >> >> > compiling
> >> >> >> > the
> >> >> >> > code because on my laptop it takes a long time to compile
> actually
> >> >> >> > (considering the fact that my laptop is 3 years old :( ).
> >> >> >>
> >> >> >> The first time it takes long on any computer. 30 - 60 minutes is
> >> >> >> minimum. But when you do changes you will see that only the
> changed
> >> >> >> file needs to be recompiled, this just takes a minute or less.
> >> >> >>
> >> >> >> Occasionally, for instance if you would add a new plugin, remove
> one
> >> >> >> that used to exist, or you just run ./configure again, you end up
> >> >> >> recompiling everything from scratch.
> >> >> >>
> >> >> >> henrik
> >> >> >>
> >> >> >> >
> >> >> >> > For code contributions, I am following the Standard Operating
> >> >> >> > Procedure
> >> >> >> > from:
> >> >> >> > http://docs.drizzle.org/contributing/code.html
> >> >> >> >
> >> >> >> > I have assigned the following bug to myself on launchpad and I
> am
> >> >> >> > working on
> >> >> >> > it. If I would have any questions then I will probably ask it on
> >> >> >> > IRC.
> >> >> >> > So
> >> >> >> > far
> >> >> >> > so good. The bug is:
> >> >> >> >
> >> >> >> > https://bugs.launchpad.net/drizzle/+bug/935951
> >> >> >> >
> >> >> >> > If anyone can give me initial pointers/hints about how to
> approach
> >> >> >> > the
> >> >> >> > above
> >> >> >> > bug then it will be of great help to me.
> >> >> >> >
> >> >> >> > Thank you.
> >> >> >> >
> >> >> >> > Wajahat Abbassi
> >> >> >> >
> >> >> >> >
> >> >> >> > On 27 March 2012 15:53, Wajahat Abbassi
> >> >> >> > <wajahat.abba...@gmail.com>
> >> >> >> > wrote:
> >> >> >> >>
> >> >> >> >> Dear Henrik,
> >> >> >> >>
> >> >> >> >> Thank you for the positive feedback.
> >> >> >> >>
> >> >> >> >>>
> >> >> >> >>> One thing I wanted to ask is, have you ever contributed to
> some
> >> >> >> >>> open
> >> >> >> >>> source project before? Is some work you have done, even just
> >> >> >> >>> academic,
> >> >> >> >>> publicly available so it could be reviewed by Drizzle mentors?
> >> >> >> >>
> >> >> >> >>
> >> >> >> >> This is the first time I am participating in Google summer of
> >> >> >> >> code
> >> >> >> >> and
> >> >> >> >> I
> >> >> >> >> am excited about it. In my past projects, I have worked on Grid
> >> >> >> >> middleware
> >> >> >> >> framework at University of Reading, UK. I designed the
> >> >> >> >> integration
> >> >> >> >> mechanism
> >> >> >> >> between GridSphere Portal and Gridway Metaschedular. I will
> send
> >> >> >> >> the
> >> >> >> >> copy of
> >> >> >> >> that work on you email address in a separate email.
> >> >> >> >>
> >> >> >> >>>
> >> >> >> >>>
> >> >> >> >>> If not, you might want to consider trying to fix some
> >> >> >> >>> low-hanging-bugs
> >> >> >> >>> during the GSOC application period to showcase your skills:
> >> >> >> >>>
> >> >> >> >>>
> >> >> >> >>>
> https://bugs.launchpad.net/drizzle/+bugs?field.tag=low-hanging-fruit
> >> >> >> >>
> >> >> >> >>
> >> >> >> >> I am more than happy to pick up the bugs and fix them. I will
> now
> >> >> >> >> setup
> >> >> >> >> my
> >> >> >> >> machine with the Drizzle and then pick up a bug to get myself
> >> >> >> >> familiar
> >> >> >> >> with
> >> >> >> >> the system. Thank you for this suggestion.
> >> >> >> >>
> >> >> >> >> Wajahat Abbassi
> >> >> >> >>
> >> >> >> >>
> >> >> >> >>
> >> >> >> >>
> >> >> >> >> On Mon, Mar 26, 2012 at 1:31 AM, Wajahat Abbassi
> >> >> >> >> <wajahat.abba...@gmail.com> wrote:
> >> >> >> >> > Hi Marcus & Danial,
> >> >> >> >> >
> >> >> >> >> > I hope you are doing good. I am interested to work in the
> >> >> >> >> > emerging
> >> >> >> >> > Database
> >> >> >> >> > system Drizzle as a GSoC student this year. I have gone
> through
> >> >> >> >> > the
> >> >> >> >> > list
> >> >> >> >> > of
> >> >> >> >> > very interesting ideas on
> >> >> >> >> > http://wiki.drizzle.org/GSOC_2012_Project_Ideas. I
> >> >> >> >> > have found 1) Compression (Mentor: Marcus) and 2) Make all
> >> >> >> >> > plugins
> >> >> >> >> > dynamic
> >> >> >> >> > (Mentor: Danial) very interesting and promising. I would be
> >> >> >> >> > really
> >> >> >> >> > pleased
> >> >> >> >> > to make my contributions in one of these projects please. The
> >> >> >> >> > following
> >> >> >> >> > is
> >> >> >> >> > my brief introduction:
> >> >> >> >> >
> >> >> >> >> > I am currently a Mphil student. Previously, I hold M.Sc in
> >> >> >> >> > Network
> >> >> >> >> > Centred
> >> >> >> >> > computing focusing mainly on network programming, data
> >> >> >> >> > communications
> >> >> >> >> > and
> >> >> >> >> > high performance computing from at University of Reading,
> UK. I
> >> >> >> >> > have
> >> >> >> >> > extensive hands on experience in different programming
> >> >> >> >> > languages
> >> >> >> >> > (C.
> >> >> >> >> > C++,
> >> >> >> >> > J2EE, J2SE, Ruby on rails and Shell scripting). In my
> >> >> >> >> > dissertation, I
> >> >> >> >> > worked
> >> >> >> >> > on grid computing paradigm where I designed and developed an
> >> >> >> >> > integration
> >> >> >> >> > layer between GridWay Metaschedular and GridSphere Portal
> >> >> >> >> > framework
> >> >> >> >> > to
> >> >> >> >> > offer
> >> >> >> >> > a PORTLET-based GUI to allow the GRID based distributed jobs
> to
> >> >> >> >> > be
> >> >> >> >> > scheduled
> >> >> >> >> > to the Grid worker nodes remotely and also to perform various
> >> >> >> >> > job
> >> >> >> >> > management
> >> >> >> >> > functions.
> >> >> >> >> >
> >> >> >> >> > The following is a list of some of my academic projects:
> >> >> >> >> >
> >> >> >> >> > ·         Implemented Enterprise JavaBeans according to the
> EJB
> >> >> >> >> > 3.0
> >> >> >> >> > specification (JSR 220). Deployment and execution of
> stateless
> >> >> >> >> > &
> >> >> >> >> > state-full
> >> >> >> >> > session EJB.
> >> >> >> >> >
> >> >> >> >> > ·         Developed MVC based Sporting manager using
> Servlets,
> >> >> >> >> > JSPs &
> >> >> >> >> > JavaBeans.
> >> >> >> >> >
> >> >> >> >> > ·         Designed, developed and demonstrated a
> client-server
> >> >> >> >> > Java
> >> >> >> >> > based
> >> >> >> >> > application for checking student module sections that is
> >> >> >> >> > consistent
> >> >> >> >> > with
> >> >> >> >> > programme specification.
> >> >> >> >> >
> >> >> >> >> > ·         Implemented the FTP protocol using C and UNIX
> System
> >> >> >> >> > calls
> >> >> >> >> > in
> >> >> >> >> > Advanced OS course.
> >> >> >> >> >
> >> >> >> >> > I am really looking forward to have a very productive summer
> of
> >> >> >> >> > coding
> >> >> >> >> > with
> >> >> >> >> > Drizzle.
> >> >> >> >> >
> >> >> >> >> > Please find my attached resume.
> >> >> >> >> >
> >> >> >> >> > Yours Sincerely,
> >> >> >> >> >
> >> >> >> >> > Wajahat Abbassi
> >> >> >> >> >
> >> >> >> >> >
> >> >> >> >>>
> >> >> >> >>> > _______________________________________________
> >> >> >> >>> > Mailing list: https://launchpad.net/~drizzle-discuss
> >> >> >> >>> > Post to     : drizzle-discuss@lists.launchpad.net
> >> >> >> >>> > Unsubscribe : https://launchpad.net/~drizzle-discuss
> >> >> >> >>> > More help   : https://help.launchpad.net/ListHelp
> >> >> >> >>> >
> >> >> >> >>>
> >> >> >> >>>
> >> >> >> >>>
> >> >> >> >>> --
> >> >> >> >>> henrik.i...@avoinelama.fi
> >> >> >> >>> +358-40-8211286 skype: henrik.ingo irc: hingo
> >> >> >> >>> www.openlife.cc
> >> >> >> >>>
> >> >> >> >>> My LinkedIn profile:
> >> >> >> >>> http://www.linkedin.com/profile/view?id=9522559
> >> >> >> >>
> >> >> >> >>
> >> >> >> >>
> >> >> >> >
> >> >> >>
> >> >> >>
> >> >> >>
> >> >> >> --
> >> >> >> henrik.i...@avoinelama.fi
> >> >> >> +358-40-8211286 skype: henrik.ingo irc: hingo
> >> >> >> www.openlife.cc
> >> >> >>
> >> >> >> My LinkedIn profile:
> http://www.linkedin.com/profile/view?id=9522559
> >> >> >
> >> >> >
> >> >>
> >> >>
> >> >>
> >> >> --
> >> >> henrik.i...@avoinelama.fi
> >> >> +358-40-8211286 skype: henrik.ingo irc: hingo
> >> >> www.openlife.cc
> >> >>
> >> >> My LinkedIn profile: http://www.linkedin.com/profile/view?id=9522559
> >> >
> >> >
> >>
> >>
> >>
> >> --
> >> henrik.i...@avoinelama.fi
> >> +358-40-8211286 skype: henrik.ingo irc: hingo
> >> www.openlife.cc
> >>
> >> My LinkedIn profile: http://www.linkedin.com/profile/view?id=9522559
> >
> >
>
>
>
> --
> henrik.i...@avoinelama.fi
> +358-40-8211286 skype: henrik.ingo irc: hingo
> www.openlife.cc
>
> My LinkedIn profile: http://www.linkedin.com/profile/view?id=9522559
>
_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to     : drizzle-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help   : https://help.launchpad.net/ListHelp

Reply via email to