## page was renamed from Specs/MobileLucidArmLibTests ##(see the SpecSpec for an explanation) * '''Launchpad Entry''': UbuntuSpec:mobile-lucid-arm-lib-tests * '''Created''': TobinDavis * '''Contributors''': * '''Packages affected''': == Summary == With the switching of the build base to the new Arm architecture, the entire core software stack is being rebuilt. Heavy testing will be needed to ensure that nothing breaks, especially at the library level. One idea is to leverage off of existing test code used by the Linux Standards Base, as testing can possibly ramp up far quicker than developing new tests from scratch. The added benefit is that the test suite already has automation tools for execution and reporting. == Release Note == TBD == Rationale == With Lucid, the arm builds will be based on latest arm architecture, with new instruction sets and reduced compiled code. This has the potential to break APIs and ABIs. Creating tests take time to define, develop, and debug. The LSB test suite is already defined and designed to test api's across a large base of libraries, and even some kernel level and ABI testing. Only parts of the test suite would be used, as some of the test suite is of little interest. == User stories == == Assumptions == The biggest assumption is that the selected tests within the test suite can be built on arm. Currently, the test suite is designed to be cross-platform, but does not include arm builds. Some tests would need to be checked out from the source tree and build testing done to see what, if any, hurdles would be encountered. == Design == == Implementation == The source tree for the lsb test suite is available from the Linux Foundation through bzr. Initial implementation would involve checking out existing code and building it then testing the compiled results. The list of tests to be converted immediately are: * OLVER Test Suite (http://bzr.linux-foundation.org/lsb/devel/olver-core-tests) (DONE) * Static interface library tests * libc (glibc) * libcrypt (glibc) * libdl (glibc) * libm (glibc) * libpthread (glibc) * librt (glibc) * libutil (glibc) * libpam * libz * libncurses * Building - checkout code at lp:lsb-arm-ports. Untar the tarball and apply the three patches. run ./build_conf_tests.sh to built the test suite * Execution - edit ./etc/olver.conf to change paths and replace USER_NAME_TESTER with an actual username. Then run "sudo ./bin/olver_run_tests". Execution time is roughly 16 hours on Dove platform. Possible speedup if configured to run tests remotely from x86 system, but this has not been tested at this time. * T2C Test Suite * tet-harness (http://www.opengroup.org/infosrv/TET/TET3/) * t2c-harness (depends on tet-harness) (http://bzr.linux-foundation.org/loggerhead/lsb/devel/t2c-harness) * t2c-cpp-tests (http://bzr.linux-foundation.org/loggerhead/lsb/devel/t2c-cpp-tests) * t2c-desktop-tests (http://bzr.linux-foundation.org/loggerhead/lsb/devel/t2c-desktop-tests) === Test Results === [[Mobile/ArmLSB]] === UI Changes === None expected. === Code Changes === Changes may be needed to make libraries comply with standard specifications for those api's. This would only be needed where an arm version of a library produces different results than the same api on other architectures. === Migration === == Test/Demo Plan == * Immediate download and build of above tests to get a feel for the conversion process. * Determine difficulty of automating test base vs using existing automation tools that may also need to be converted. == Unresolved issues == It is currently unknown if the tests will build on arm, or how long it may take to run these tests. == BoF agenda and discussion == ---- CategorySpec