From b591b5faae492e688f9409116ed39527f0713302 Mon Sep 17 00:00:00 2001 From: Nimika Keshri Date: Tue, 23 Aug 2011 17:58:56 +0300 Subject: [PATCH] Changes: New test for checking library linking RevBy: Olli Leppanen --- debian/applauncherd-testapps.install | 1 + tests/CMakeLists.txt | 3 ++ .../common/testapps/fala_exit/CMakeLists.txt | 31 +++++++++++++ tests/common/testapps/fala_exit/fala_exit.cpp | 46 +++++++++++++++++++ tests/harmattan/red-tests/tests.xml | 3 ++ tests/harmattan/testscripts/test-daemons.py | 19 ++++++++ 6 files changed, 103 insertions(+) create mode 100644 tests/common/testapps/fala_exit/CMakeLists.txt create mode 100644 tests/common/testapps/fala_exit/fala_exit.cpp diff --git a/debian/applauncherd-testapps.install b/debian/applauncherd-testapps.install index d85ff14..fd6d1b3 100644 --- a/debian/applauncherd-testapps.install +++ b/debian/applauncherd-testapps.install @@ -1,6 +1,7 @@ usr/bin/fala_ft_hello usr/bin/fala_status usr/bin/fala_wait +usr/bin/fala_exit usr/bin/fala_ft_hello1 usr/bin/fala_ft_hello2 usr/bin/fala_ft_creds1 diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index fddf961..0ef653a 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -49,6 +49,9 @@ add_subdirectory(common/testapps/fala_status) # Sub build: common/testapps/fala_wait add_subdirectory(common/testapps/fala_wait) +# Sub build: common/testapps/fala_exit +add_subdirectory(common/testapps/fala_exit) + # Sub build: common/testapps/focustest add_subdirectory(common/testapps/focustest) diff --git a/tests/common/testapps/fala_exit/CMakeLists.txt b/tests/common/testapps/fala_exit/CMakeLists.txt new file mode 100644 index 0000000..b38b84e --- /dev/null +++ b/tests/common/testapps/fala_exit/CMakeLists.txt @@ -0,0 +1,31 @@ +# Set sources +set(SRC fala_exit.cpp) + +link_libraries(${MEEGOTOUCH_LIBRARIES}) + +include(${QT_USE_FILE}) + +# Use the compiler and linker flags given in meegotouch-boostable.pc +# in the source tree. +execute_process(COMMAND "env" + "PKG_CONFIG_PATH=${CMAKE_SOURCE_DIR}/data/pkgconfig" + "/usr/bin/pkg-config" + "--cflags" + "meegotouch-boostable" + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + OUTPUT_VARIABLE booster_cflags + OUTPUT_STRIP_TRAILING_WHITESPACE) +execute_process(COMMAND "env" + "PKG_CONFIG_PATH=${CMAKE_SOURCE_DIR}/data/pkgconfig" + "/usr/bin/pkg-config" "--libs" + "meegotouch-boostable" + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + OUTPUT_VARIABLE booster_libs + OUTPUT_STRIP_TRAILING_WHITESPACE) +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${booster_cflags}") +set(CMAKE_EXE_LINKER_FLAGS ${booster_libs}) + +add_executable(fala_exit ${SRC}) + +install(PROGRAMS fala_exit DESTINATION /usr/bin/) + diff --git a/tests/common/testapps/fala_exit/fala_exit.cpp b/tests/common/testapps/fala_exit/fala_exit.cpp new file mode 100644 index 0000000..d072b44 --- /dev/null +++ b/tests/common/testapps/fala_exit/fala_exit.cpp @@ -0,0 +1,46 @@ +/*************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (directui@nokia.com) +** +** This file is part of applauncherd +** +** If you have questions regarding the use of this file, please contact +** Nokia at directui@nokia.com. +** +** This library is free software; you can redistribute it and/or +** modify it under the terms of the GNU Lesser General Public +** License version 2.1 as published by the Free Software Foundation +** and appearing in the file LICENSE.LGPL included in the packaging +** of this file. +** +****************************************************************************/ + +#include +#include +#include +#include +#include +#include + +#ifdef HAVE_MCOMPONENTCACHE +#include +#endif + +M_EXPORT int main(int argc, char ** argv) +{ +#ifdef HAVE_MCOMPONENTCACHE + MApplication *app = MComponentCache::mApplication(argc, argv); + MApplicationWindow *window = MComponentCache::mApplicationWindow(); +#else + MApplication *app = new MApplication(argc, argv); + MApplicationWindow *window = new MApplicationWindow; +#endif + + MApplicationPage *mainPage = new MApplicationPage; + window->show(); + mainPage->appear(window); + QTimer::singleShot(3000, app, SLOT(quit())); + exit(app->exec()); +} diff --git a/tests/harmattan/red-tests/tests.xml b/tests/harmattan/red-tests/tests.xml index 22f8512..624cc57 100644 --- a/tests/harmattan/red-tests/tests.xml +++ b/tests/harmattan/red-tests/tests.xml @@ -26,6 +26,9 @@ source /tmp/session_bus_address.user; DISPLAY=:0 `pyversions -d` /usr/share/applauncherd-testscripts/test-daemons.py test_daemon_debug + + source /tmp/session_bus_address.user; DISPLAY=:0 `pyversions -d` /usr/share/applauncherd-testscripts/test-daemons.py test_app_exits_clean + true diff --git a/tests/harmattan/testscripts/test-daemons.py b/tests/harmattan/testscripts/test-daemons.py index ab159ba..23a9a55 100644 --- a/tests/harmattan/testscripts/test-daemons.py +++ b/tests/harmattan/testscripts/test-daemons.py @@ -218,8 +218,27 @@ class DaemonTests(unittest.TestCase): self.assert_(op == 'FATAL!!: DISPLAY environment variable not set.',\ "Applauncherd was started even when DISPLAY was not set") + def test_app_exits_clean(self): + """ + Test that a test applications exits clean. + """ + launcher_pid = wait_for_single_applauncherd + mbooster_pid = wait_for_app("booster-m") + + cmd = '/usr/bin/invoker --type=m /usr/bin/fala_exit' + st, op = commands.getstatusoutput(cmd) + time.sleep(5) + self.assert_(st == 0, "The application did not exit clean") + + launcher_pid_new = wait_for_single_applauncherd + self.assert_(launcher_pid == launcher_pid_new, "The Pid of applauncherd has changed") + st, op = commands.getstatusoutput(cmd) + time.sleep(5) + self.assert_(st == 0, "The application did not exit clean") + launcher_pid_new = wait_for_single_applauncherd + self.assert_(launcher_pid == launcher_pid_new, "The Pid of applauncherd has changed")