On Tue, Nov 11, 2014 at 7:43 AM, David Lang <[email protected]> wrote: > On Mon, 10 Nov 2014, Thomas D. wrote: > > Hi, >> >> On 2014-11-06 08:10, Rainer Gerhards wrote: >> >>> Well, you can run the mysql test suite against any mysql server. It is >>>> independent from source. So that's not the best example at all... >>>> >>> >>> Don't you then need root (or similar) credentials to do some very >>> delicate >>> database operations like creating databases and tables? I wouldn't permit >>> this to be done to my production server. >>> >> >> That's why I asked for running the test suite in a 'sandbox'. >> > > you still need those credentials for your sandbox, right? > > If MySQL isn't installed on the system you will need to install the > package (requiring root + distro specific knowledge), if it is installed, > you need to configure users and permissions for the test user (requiring DB > root equivalent + distro specific knowlege) > > > > Well, finally I installed valgrind and had to re-install glibc with >>>> debugging symbols (another error the test suite logged but did not >>>> detect). >>>> >>> >>> why did you need the debugging symbols? >>> >> >> In Gentoo imdiag is currently only available when compiling with "debug" >> USE flag. This will also enable "--enable-valgrind".. >> >> The error message logged in the "udp-msgreduc-vg" log file was something >> like >> >> valgrind: Fatal error at startup: a function redirection >>> valgrind: which is mandatory for this platform-tool combination >>> valgrind: cannot be set up. Details of the redirection are: >>> valgrind: >>> valgrind: [...] >>> valgrind: >>> valgrind: Possible fixes: (1, short term): install glibc's debuginfo >>> valgrind: package on this machine. (2, longer term): ask the packagers >>> valgrind: for your Linux distribution to please in future ship a non- >>> valgrind: stripped ld.so (or whatever the dynamic linker .so is called) >>> valgrind: that exports the above-named function using the standard >>> valgrind: calling conventions for this platform. >>> valgrind: >>> valgrind: Cannot continue -- exiting now. Sorry. >>> >> >> >> >> But let me be clear. From this thread, it looks like these should be our >>> project priorities: >>> >>> 1. make the testbench fully automatic and self-contained >>> 2. create unit tests >>> 3. create more and better integration tests >>> 4. document >>> 5. fix bugs >>> 6. develop new features >>> >>> Given the fact that I am I and not a big team like at MySQL, I don't >>> believe this is the right order of priorities. >>> >>> In reality, it is me alone doing >95% of all work, and funding for this >>> work is almost solely by Adiscon (and only partially backed by paying >>> customers). >>> >> >> Asking this question shows me that you understand my point. Great! ;) >> >> Yes, I am voting for changing the priority order like you said. >> >> Don't get me wrong. I am not saying that you MUST change anything. I am >> only answering the question "If you could change something in the >> project, what would you change?" ... and I would change the priority to >> improve the current project quality using automatic tests. >> > > I disagree that 1, 2, and 3 are more important than 4 and 5 (where 6 lives > is subject to a lot of debate) > > you could completely halt all documentation, bugfixing, and new features > for a year while creating tests to cover everything. > > Testing is useful, but the end purpose of the software is not to pass > tests, but rather to provide capabilities to the user. > > As an extreme example, I know of a company that lost a month of > development and missed having the product ready for a national trade show > because they got so caught up in writing tests for everything that a test > that didn't work right when the software was being shutdown (after which it > would be reset for the next test) HAD to be written before anything more > could be done, and there was an upstream bug in one component that caused > this exit to never work cleanly. Don't fall into a similar trap. >
+1 tests are just means to an end, we should be disciplined to write them as we go, but every project has corners(and sometimes large portions) that are ill-tested or worse. Paralysing development completely to test-cover them in one go doesn't sound like the best plan. FWIW, here is something that has worked for teams I have been on in the past. We were aware of which areas were not test-covered, bug-prone, hard-to-read etc. When we were to touch anything in those areas (like adding new features that touched those parts of code, or fix a bug etc), we used to test-cover directly and indirectly affected portions of that code, and then refactor them heavily to bring it up to the mark. > > David Lang > > _______________________________________________ > rsyslog mailing list > http://lists.adiscon.net/mailman/listinfo/rsyslog > http://www.rsyslog.com/professional-services/ > What's up with rsyslog? Follow https://twitter.com/rgerhards > NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad > of sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you > DON'T LIKE THAT. > -- Regards, Janmejay http://codehunk.wordpress.com _______________________________________________ rsyslog mailing list http://lists.adiscon.net/mailman/listinfo/rsyslog http://www.rsyslog.com/professional-services/ What's up with rsyslog? Follow https://twitter.com/rgerhards NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad of sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T LIKE THAT.

