[Buildroot] [PATCH 5/6] flask: Adds robotframework tests

Denis THULIN denis.thulin at openwide.fr
Mon Aug 31 09:59:10 UTC 2015


Adds a 'host' test to check that the flask folder is created,
a 'target' test that checks that flask runs correctly

The 'host' test is ran on the target folder, it merely checks that
the flask folder exists

The 'target' test starts a flask process on a specified port and localhost

Signed-off-by: Denis THULIN <denis.thulin at openwide.fr>
---

Signed-off-by: Denis THULIN <denis.thulin at openwide.fr>
---
 package/python-flask/python-flask.mk               |  5 +++++
 .../target_test_material/target_test.robot         | 25 ++++++++++++++++++++++
 2 files changed, 30 insertions(+)
 create mode 100644 package/python-flask/target_test_material/target_test.robot

diff --git a/package/python-flask/python-flask.mk b/package/python-flask/python-flask.mk
index 8aa675e..18dc846 100644
--- a/package/python-flask/python-flask.mk
+++ b/package/python-flask/python-flask.mk
@@ -12,4 +12,9 @@ PYTHON_FLASK_LICENSE = BSD-3c
 PYTHON_FLASK_LICENSE_FILES = LICENSE
 PYTHON_FLASK_DEPENDENCIES = python-werkzeug python-jinja2 python-itsdangerous
 
+
+PYTHON_FLASK_TEST_INSTALL_LOCATION = /usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages/flask
+
+PYTHON_FLASK_TEST_MATERIAL = target_test_material
+
 $(eval $(python-package))
diff --git a/package/python-flask/target_test_material/target_test.robot b/package/python-flask/target_test_material/target_test.robot
new file mode 100644
index 0000000..78f4d38
--- /dev/null
+++ b/package/python-flask/target_test_material/target_test.robot
@@ -0,0 +1,25 @@
+*** Settings ***
+Documentation   This is a simple test suite meant to make sure that flask works
+...             properly. Please ensure that no other program is using tcp port
+...             5000 before running it.
+Library         Process
+*** Variables ***
+${flask_range}=         "127.0.0.1"
+${flask_port}=          5000
+${flask_address}=       "127.0.0.1"
+*** Test Cases ***
+Test Port
+    [setup]         Start Flask With Hello World
+    [Teardown]      Kill Flask
+    Wait Until Keyword Succeeds      2 sec    10 sec     Wget Returns OK
+*** Keywords ***
+Start Flask With Hello World
+    ${handle}=    Start Process     python2     -c     from flask import Flask; app \= Flask(__name__); app.route(\"/\")(lambda: \"hello world\"); app.run(host\=${flask_range},port\=${flask_port})
+    Set Suite Variable    ${HANDLE}    ${handle}
+
+Kill Flask
+    Terminate Process    ${HANDLE}
+
+Wget Returns Ok
+    ${result}=      Run Process     wget    http://127.0.0.1:5000
+    Should Be Equal As Integers    0   ${result.rc}
-- 
2.5.0



More information about the buildroot mailing list