On Fri, 2008-11-14 at 17:51 +1100, David Gibson wrote: > On Thu, Nov 13, 2008 at 08:26:12PM +0000, Adam Litke wrote: > > Now that libhugetlbfs can work with multiple huge page sizes, testing this > > support has become a priority. The following patch enables automatic > > testing > > of page sizes that are mounted and have at least one page allocated. Care > > is > > taken to assure that only valid combinations are tested. For example, 32bit > > tests are not run with 16GB pages. Following the run, a summary of all page > > sizes tested is printed. The following is some example output of the new > > script: > > > > ********** TEST SUMMARY > > * 64K 16M 16G > > * 32-bit 64-bit 32-bit 64-bit 32-bit 64-bit > > * Total testcases: 86 89 86 89 0 89 > > * Skipped: 20 0 20 0 0 0 > > * PASS: 59 75 62 85 0 49 > > * FAIL: 5 6 1 1 0 29 > > * Killed by signal: 0 0 0 0 0 0 > > * Bad configuration: 2 2 3 3 0 10 > > * Expected FAIL: 0 0 0 0 0 0 > > * Unexpected PASS: 0 0 0 0 0 0 > > * Strange test result: 0 6 0 0 0 1 > > ********** > > > > Script programming language conversion alert: > > > > This patch rewrites run_tests.sh in python. I already anticipate the "why > > change languages" comments so I come prepared with justification for the > > conversion. Our test harness has extended beyond simply executing a list of > > test cases and dumping the output to stdout. The data set for the test > > summary > > is now three-dimensional. It is indexed by result type (total tests, total > > passed, etc), word size, and now page size. The simple arrays in bash are > > not > > up to the task. As the number of tests that are run increases, so does the > > challenge of presenting the results in a meaningful, easy to digest format. > > Shell scripts lack the output formatting constructs that are present in > > languages such as Python and that make flexible output formatting possible. > > For these reasons (and the guarantee that the test harness will need to get > > even more sophisticated in the future), I made the inevitable decision to > > cut > > over to Python now. > > Hmm. I was about to say I thought changing to Python was a pretty > good idea, but then I had some second thoughts. > > These are all sound arguments, and the script certainly was getting > pretty messy in shell. I wrote it in shell initially because that was > the simple obvious option when it was just a handful of simple tests. > The testsuite is a lot more complex these days. > > The one big thing that worries me about switching to Python is that it > introduces another build and test dependency. That's not a big issue > for regular desktop or server systems - Python's common enough. But > it is an issue for embedded boards, where hugepage support is becoming > increasingly common. In particular that's troublesome because > libhugetlbfs is de fact the testsuite for kernel hugepage support as > well as for the library itself. Making it harder to do a thorough > test of hugepages on J Random embedded board is a non-trivial > drawback.
Yes, you make a good point here. If the target system lacks Python, could they just use freeze to produce a binary? http://wiki.python.org/moin/Freeze -- Adam Litke - (agl at us.ibm.com) IBM Linux Technology Center ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Libhugetlbfs-devel mailing list Libhugetlbfs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libhugetlbfs-devel