Skip to content
Snippets Groups Projects
Verified Commit cf4b8b8c authored by William Desportes's avatar William Desportes :sailboat:
Browse files

Add an autopkgtest suite

parent 674516f0
No related branches found
No related tags found
No related merge requests found
Tests: jasmine
Depends: lighttpd <!nocheck>, python3-selenium, node-jest, @
#!/bin/sh
set -eu
# TEMP
rm -rv $AUTOPKGTEST_TMP/*
PORT=8888
DOCROOT="$AUTOPKGTEST_TMP/docroot"
CONF="$AUTOPKGTEST_TMP/lighttpd.conf"
mkdir -p "$DOCROOT"
cat >"$CONF" <<EOF
server.document-root = "$DOCROOT"
server.port = $PORT
mimetype.assign += ( ".html" => "text/html", ".css" => "text/css" )
EOF
mkdir -p $DOCROOT/debian/tests
mkdir -p $DOCROOT/src
cp ./test/jquery-ui-timepicker-addon_spec.js $DOCROOT
cp ./test/SpecRunner.html $DOCROOT
cp ./debian/jasmine-fixture-2.0.0.js $DOCROOT/debian
cp ./src/jquery-ui-timepicker-addon.js $DOCROOT/src
ln -s /usr/share/nodejs/jasmine-core/lib/jasmine-core $DOCROOT/debian/tests/jasmine-core
# validate test configuration
lighttpd -tt -f "$CONF"
lighttpd -D -f "$CONF" &
LIGHTTPD_PID=$!
# Do tests
python3 ./debian/tests/test-runner.py
trap 'kill "$LIGHTTPD_PID"' EXIT
from selenium import webdriver
from selenium.webdriver.common.by import By
options = webdriver.ChromeOptions()
options.add_argument("--headless")
options.add_argument("--disable-extensions")
driver = webdriver.Chrome(options=options)
print("Running tests")
driver.get("http://localhost:8888/SpecRunner.html?random=false")
assert "jquery-ui-timepicker-addon Spec Runner" in driver.title
jasmine_version = driver.find_element(By.CLASS_NAME, "jasmine-version")
print("Ran tests on Jasmine " + jasmine_version.text)
elem = driver.find_element(By.CLASS_NAME, "jasmine-symbol-summary")
for li_node in elem.find_elements(By.TAG_NAME, 'li'):
li_class = li_node.get_attribute("class")
if li_class == "jasmine-passed":
print(".", end = "")
elif li_class == "jasmine-failed":
print("x", end = "")
elif li_class == "jasmine-incomplete":
print("!", end = "")
elif li_class == "jasmine-pending":
print("?", end = "")
else:
print("missing class: " + li_class)
print("")
test_result = driver.find_element(By.CLASS_NAME, "jasmine-overall-result")
print(test_result.text)
assert "76 specs" in test_result.text
assert "0 failures" in test_result.text
assert "2 pending specs" in test_result.text
assert "76 specs, 0 failures, 2 pending specs" in test_result.text
driver.close()
print("End of tests")
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment