summaryrefslogtreecommitdiffstats
path: root/tests/test-installer
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test-installer')
-rw-r--r--tests/test-installer/BatchSubstitute.bat20
-rw-r--r--tests/test-installer/auto_installations_script.qs77
-rw-r--r--tests/test-installer/create-test-installer.bat76
-rw-r--r--tests/test-installer/create-test-installer.sh1
4 files changed, 174 insertions, 0 deletions
diff --git a/tests/test-installer/BatchSubstitute.bat b/tests/test-installer/BatchSubstitute.bat
new file mode 100644
index 000000000..99bffdcb0
--- /dev/null
+++ b/tests/test-installer/BatchSubstitute.bat
@@ -0,0 +1,20 @@
+@echo off
+REM -- Prepare the Command Processor --
+SETLOCAL ENABLEEXTENSIONS
+SETLOCAL DISABLEDELAYEDEXPANSION
+
+::BatchSubstitude - parses a File line by line and replaces a substring"
+::syntax: BatchSubstitude.bat OldStr NewStr File
+:: OldStr [in] - string to be replaced
+:: NewStr [in] - string to replace with
+:: File [in] - file to be parsed
+:$changed 20100115
+:$source http://www.dostips.com
+if "%~1"=="" findstr "^::" "%~f0"&GOTO:EOF
+for /f "tokens=1,* delims=]" %%A in ('"type %3|find /n /v """') do (
+ set "line=%%B"
+ if defined line (
+ call set "line=echo.%%line:%~1=%~2%%"
+ for /f "delims=" %%X in ('"echo."%%line%%""') do %%~X
+ ) ELSE echo.
+)
diff --git a/tests/test-installer/auto_installations_script.qs b/tests/test-installer/auto_installations_script.qs
new file mode 100644
index 000000000..35960c3b5
--- /dev/null
+++ b/tests/test-installer/auto_installations_script.qs
@@ -0,0 +1,77 @@
+var installerTargetDirectory="c:\\auto-test-installation";
+
+function Controller()
+{
+ installer.autoRejectMessageBoxes;
+ installer.setMessageBoxAutomaticAnswer( "OverwriteTargetDirectory", QMessageBox.Yes);
+ //maybe we want something like this
+ //installer.execute("D:\\cleanup_directory.bat", new Array(installerTargetDirectory));
+ installer.setMessageBoxAutomaticAnswer( "stopProcessesForUpdates", QMessageBox.Ignore);
+}
+
+
+Controller.prototype.IntroductionPageCallback = function()
+{
+ gui.clickButton(buttons.NextButton);
+}
+
+Controller.prototype.TargetDirectoryPageCallback = function()
+{
+ var page = gui.pageWidgetByObjectName("TargetDirectoryPage");
+ page.TargetDirectoryLineEdit.setText(installerTargetDirectory);
+ gui.clickButton(buttons.NextButton);
+}
+
+Controller.prototype.ComponentSelectionPageCallback = function()
+{
+ var page = gui.pageWidgetByObjectName("ComponentSelectionPage");
+ gui.clickButton(buttons.NextButton);
+}
+
+Controller.prototype.LicenseAgreementPageCallback = function()
+{
+ var page = gui.pageWidgetByObjectName("LicenseAgreementPage");
+ page.AcceptLicenseRadioButton.setChecked( true);
+ gui.clickButton(buttons.NextButton);
+}
+
+////in the current installer we don't have this
+//Controller.prototype.DynamicQtGuiPageCallback = function()
+//{
+// var page = gui.pageWidgetByObjectName("DynamicQtGuiPage");
+// page.checkBoxLib.setChecked( false);
+// gui.clickButton(buttons.NextButton);
+//}
+
+////in the current installer we don't have this
+//Controller.prototype.DynamicErrorPageCallback = function()
+//{
+// var page = gui.pageWidgetByObjectName("DynamicErrorPage");
+// page.checkBoxMakeSure.setChecked( true);
+// gui.clickButton(buttons.NextButton);
+//}
+
+Controller.prototype.StartMenuDirectoryPageCallback = function()
+{
+ var page = gui.pageWidgetByObjectName("StartMenuDirectoryPage");
+ //page.LineEdit.text = "test";
+ gui.clickButton(buttons.NextButton);
+}
+
+Controller.prototype.ReadyForInstallationPageCallback = function()
+{
+ gui.clickButton(buttons.NextButton);
+}
+
+
+Controller.prototype.PerformInstallationPageCallback = function()
+{
+ var page = gui.pageWidgetByObjectName("PerformInstallationPage");
+ gui.clickButton(buttons.NextButton);
+}
+
+Controller.prototype.FinishedPageCallback = function()
+{
+ var page = gui.pageWidgetByObjectName("FinishedPage");
+ gui.clickButton(buttons.FinishButton);
+}
diff --git a/tests/test-installer/create-test-installer.bat b/tests/test-installer/create-test-installer.bat
new file mode 100644
index 000000000..866e41f4c
--- /dev/null
+++ b/tests/test-installer/create-test-installer.bat
@@ -0,0 +1,76 @@
+IF "%1" EQU "" (
+ set OFFLINE_INSTALLER=true
+ set ONLINE_INSTALLER=true
+ set REPOGEN=true
+ set TEST_ONLINE_INSTALLER=false
+ set TEST_OFFLINE_INSTALLER=false
+) else (
+ set OFFLINE_INSTALLER=false
+ set ONLINE_INSTALLER=false
+ set REPOGEN=false
+ set TEST_ONLINE_INSTALLER=false
+ set TEST_OFFLINE_INSTALLER=false
+)
+
+for %%i in (%1,%2,%3,%4,%5,%6,%7,%8,%9) DO (
+ IF "%%i" EQU "offline" (
+ set OFFLINE_INSTALLER=true
+ )
+ IF "%%i" EQU "online" (
+ set ONLINE_INSTALLER=true
+ )
+ IF "%%i" EQU "repogen" (
+ set REPOGEN=true
+ )
+ IF "%%i" EQU "test_online" (
+ set TEST_ONLINE_INSTALLER=true
+ )
+ IF "%%i" EQU "test_offline" (
+ set TEST_OFFLINE_INSTALLER=true
+ )
+)
+
+set AUTO_INSTALLATION_SCRIPT=--script %CD%\auto_installations_script.qs
+
+set BINARY_PATH_RELATIVE=%CD%\..\..\installerbuilder\bin
+pushd .
+cd %BINARY_PATH_RELATIVE%
+set BINARY_PATH_ABSOLUTE=%CD%
+popd
+
+set LOCAL_REPOSITORY=file:///%BINARY_PATH_ABSOLUTE%/repository
+set LOCAL_REPOSITORY_PATH=%LOCAL_REPOSITORY:\=/%
+
+call BatchSubstitute.bat http://www.xxxx.com/repository %LOCAL_REPOSITORY_PATH% ..\..\examples\testapp\config\config.xml > ..\..\examples\testapp\config\config.xml_new
+
+copy /Y ..\..\examples\testapp\config\config.xml ..\..\examples\testapp\config\config.xml_old
+move /Y ..\..\examples\testapp\config\config.xml_new ..\..\examples\testapp\config\config.xml
+
+IF "%OFFLINE_INSTALLER%" EQU "true" (
+ echo create offline installer
+ ..\..\installerbuilder\bin\binarycreator -t ..\..\installerbuilder\bin\installerbase.exe -v -p ..\..\examples\testapp\packages -c ..\..\examples\testapp\config --offline-only ..\..\installerbuilder\bin\test-installer-offline.exe com.nokia.testapp
+ IF errorlevel 1 pause ELSE echo ...done
+)
+
+IF "%ONLINE_INSTALLER%" EQU "true" (
+ echo create online installer
+ ..\..\installerbuilder\bin\binarycreator -t ..\..\installerbuilder\bin\installerbase.exe -v -n -p ..\..\examples\testapp\packages -c ..\..\examples\testapp\config ..\..\installerbuilder\bin\test-installer-online.exe com.nokia.testapp
+ IF errorlevel 1 pause ELSE echo ...done
+)
+
+IF "%REPOGEN%" EQU "true" (
+ echo create online repository
+ IF exist ..\..\installerbuilder\bin\repository rmdir /S /Q ..\..\installerbuilder\bin\repository
+ ..\..\installerbuilder\bin\repogen.exe -p ..\..\examples\testapp\packages -c ..\..\examples\testapp\config ..\..\installerbuilder\bin\repository com.nokia.testapp
+ IF errorlevel 1 pause ELSE echo ...done
+)
+
+IF "%TEST_OFFLINE_INSTALLER%" EQU "true" (
+ ..\..\installerbuilder\bin\test-installer-offline.exe --verbose %AUTO_INSTALLATION_SCRIPT%
+)
+
+IF "%TEST_ONLINE_INSTALLER%" EQU "true" (
+ ..\..\installerbuilder\bin\test-installer-online.exe --verbose %AUTO_INSTALLATION_SCRIPT%
+)
+
+copy /Y ..\..\examples\testapp\config\config.xml_old ..\..\examples\testapp\config\config.xml
diff --git a/tests/test-installer/create-test-installer.sh b/tests/test-installer/create-test-installer.sh
new file mode 100644
index 000000000..21889d50d
--- /dev/null
+++ b/tests/test-installer/create-test-installer.sh
@@ -0,0 +1 @@
+../../installerbuilder/bin/binarycreator -t ../../installerbuilder/bin/installerbase -v -p ../../examples/testapp/packages -c ../../examples/testapp/config test-installer --offline-only com.nokia.testapp