added docker script of running kivy test cases for travis
This commit is contained in:
parent
c9c54029a6
commit
6f6b15bdd3
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -1,5 +1,5 @@
|
|||
**pyc
|
||||
**dat
|
||||
#**dat
|
||||
**.DS_Store
|
||||
src/build
|
||||
src/dist
|
||||
|
|
15
.travis-kivy.yml
Normal file
15
.travis-kivy.yml
Normal file
|
@ -0,0 +1,15 @@
|
|||
language: python3.7
|
||||
cache: pip3
|
||||
dist: bionic
|
||||
python:
|
||||
- "3.7"
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- build-essential
|
||||
- libcap-dev
|
||||
- xvfb
|
||||
install:
|
||||
- pip3 install -r kivy-requirements.txt
|
||||
script:
|
||||
- xvfb-run python3 -m unittest src/bitmessagekivy/tests/test_create_random_address.py
|
63
Dockerfile.kivy-travis
Normal file
63
Dockerfile.kivy-travis
Normal file
|
@ -0,0 +1,63 @@
|
|||
FROM ubuntu:bionic AS pybm-kivy-travis-bionic
|
||||
|
||||
ENV DEBIAN_FRONTEND noninteractive
|
||||
ENV TRAVIS_SKIP_APT_UPDATE 1
|
||||
|
||||
RUN apt-get update
|
||||
|
||||
RUN apt-get install -yq --no-install-suggests --no-install-recommends \
|
||||
software-properties-common
|
||||
|
||||
RUN dpkg --add-architecture i386
|
||||
|
||||
RUN add-apt-repository ppa:deadsnakes/ppa
|
||||
|
||||
RUN apt-get -y install sudo
|
||||
|
||||
RUN apt-get -y install git
|
||||
|
||||
RUN apt-get install -yq --no-install-suggests --no-install-recommends \
|
||||
# travis xenial bionic
|
||||
python-setuptools libssl-dev libpq-dev python-prctl python-dev \
|
||||
python-dev python-virtualenv python-pip virtualenv \
|
||||
# Code quality
|
||||
pylint python-pycodestyle python3-pycodestyle pycodestyle python-flake8 \
|
||||
python3-flake8 flake8 python-pyflakes python3-pyflakes pyflakes pyflakes3 \
|
||||
curl \
|
||||
# Wine
|
||||
python python-pip wget wine-stable winetricks mingw-w64 wine32 wine64 xvfb \
|
||||
# Buildbot
|
||||
python3-dev libffi-dev python3-setuptools \
|
||||
python3-pip \
|
||||
# python 3.7
|
||||
python3.7 python3.7-dev \
|
||||
# .travis.yml
|
||||
build-essential libcap-dev tor \
|
||||
language-pack-en
|
||||
|
||||
# cleanup
|
||||
RUN rm -rf /var/lib/apt/lists/*
|
||||
|
||||
RUN useradd -m -U builder
|
||||
|
||||
RUN echo 'builder ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
|
||||
|
||||
# travis2bash
|
||||
RUN wget -O /usr/local/bin/travis2bash.sh https://git.bitmessage.org/Bitmessage/buildbot-scripts/raw/branch/master/travis2bash.sh
|
||||
RUN chmod +x /usr/local/bin/travis2bash.sh
|
||||
|
||||
# copy sources
|
||||
COPY . /home/builder/src
|
||||
RUN chown -R builder.builder /home/builder/src
|
||||
|
||||
USER builder
|
||||
|
||||
ENV LANG en_US.UTF-8
|
||||
ENV LANGUAGE en_US:en
|
||||
ENV LC_ALL en_US.UTF-8
|
||||
|
||||
WORKDIR /home/builder/src
|
||||
|
||||
|
||||
# ENTRYPOINT /usr/local/bin/travis2bash.sh
|
||||
ENTRYPOINT ["/usr/local/bin/travis2bash.sh", ".travis-kivy.yml"]
|
|
@ -30,3 +30,5 @@ typed-ast==1.4.0
|
|||
urllib3==1.25.6
|
||||
wrapt==1.11.2
|
||||
zipp==3.1.0
|
||||
xclip
|
||||
xsel
|
4
run-kivy-tests-in-docker.sh
Executable file
4
run-kivy-tests-in-docker.sh
Executable file
|
@ -0,0 +1,4 @@
|
|||
#!/bin/bash
|
||||
|
||||
docker build -t pybm-kivy-travis-bionic -f Dockerfile.kivy-travis .
|
||||
docker run pybm-kivy-travis-bionic
|
|
@ -27,7 +27,7 @@ from kivy.uix.textinput import TextInput
|
|||
import state
|
||||
import queues
|
||||
|
||||
from addresses import decodeAddress
|
||||
from addresses import decodeAddress, addBMIfNotPresent
|
||||
from bitmessagekivy.baseclass.common import (
|
||||
toast, showLimitedCnt
|
||||
)
|
||||
|
@ -110,7 +110,6 @@ class DropDownWidget(BoxLayout):
|
|||
# state.detailPageType = ''
|
||||
# state.send_draft_mail = None
|
||||
else:
|
||||
from addresses import addBMIfNotPresent
|
||||
# toAddress = addBMIfNotPresent(toAddress)
|
||||
if (addressVersionNumber > 4) or (
|
||||
addressVersionNumber <= 1):
|
||||
|
|
59
src/bitmessagekivy/tests/sampleData/keys.dat
Normal file
59
src/bitmessagekivy/tests/sampleData/keys.dat
Normal file
|
@ -0,0 +1,59 @@
|
|||
[bitmessagesettings]
|
||||
settingsversion = 0
|
||||
port = 8444
|
||||
timeformat = %%c
|
||||
blackwhitelist = black
|
||||
startonlogon = false
|
||||
minimizetotray = false
|
||||
showtraynotifications = true
|
||||
startintray = false
|
||||
socksproxytype = none
|
||||
sockshostname = localhost
|
||||
socksport = 9050
|
||||
socksauthentication = false
|
||||
socksusername =
|
||||
sockspassword =
|
||||
keysencrypted = false
|
||||
messagesencrypted = false
|
||||
defaultnoncetrialsperbyte = 1000
|
||||
defaultpayloadlengthextrabytes = 1000
|
||||
minimizeonclose = false
|
||||
replybelow = False
|
||||
maxdownloadrate = 0
|
||||
maxuploadrate = 0
|
||||
stopresendingafterxdays =
|
||||
stopresendingafterxmonths =
|
||||
sockslisten = false
|
||||
userlocale = system
|
||||
sendoutgoingconnections = True
|
||||
useidenticons = True
|
||||
identiconsuffix = qcqQGW6sQtZK
|
||||
maxacceptablenoncetrialsperbyte = 20000000000
|
||||
maxacceptablepayloadlengthextrabytes = 20000000000
|
||||
onionhostname =
|
||||
onionport = 8444
|
||||
onionbindip = 127.0.0.1
|
||||
smtpdeliver =
|
||||
hidetrayconnectionnotifications = false
|
||||
ttl = 367200
|
||||
|
||||
[BM-2cTpgCn57rYUgqm5BrgmykuV9gK1Ak1THF]
|
||||
label = test1
|
||||
enabled = true
|
||||
decoy = false
|
||||
noncetrialsperbyte = 1000
|
||||
payloadlengthextrabytes = 1000
|
||||
privsigningkey = 5KYCPJ4Vp31UD6k5NWmDKtHhfapW25UJ7V2MjctYxcgL3BpWGA3
|
||||
privencryptionkey = 5JLER8q2zyj3KDEgGMv682en2SRUkkWWhUrNuqVYfGNNhHJmdkJ
|
||||
lastpubkeysendtime = 1623160189
|
||||
|
||||
[BM-2cVrdzQjCQRqUuET6dc3byVyRTjZcgcJXj]
|
||||
label = test2
|
||||
enabled = true
|
||||
decoy = false
|
||||
noncetrialsperbyte = 1000
|
||||
payloadlengthextrabytes = 1000
|
||||
privsigningkey = 5KhryWvNowFWWA9JRjQnLVStYKwhpKpAG4RtWwzyaQqmK2fTMue
|
||||
privencryptionkey = 5JKQ9NqX2LRzHBCgyxc1GAL3rDvyDTHPifpL22a6UNN7K6y9BmL
|
||||
lastpubkeysendtime = 1623160221
|
||||
|
110
src/bitmessagekivy/tests/sampleData/knownnodes.dat
Normal file
110
src/bitmessagekivy/tests/sampleData/knownnodes.dat
Normal file
|
@ -0,0 +1,110 @@
|
|||
[
|
||||
{
|
||||
"stream": 1,
|
||||
"peer": {
|
||||
"host": "5.45.99.75",
|
||||
"port": 8444
|
||||
},
|
||||
"info": {
|
||||
"lastseen": 1620741290.255359,
|
||||
"rating": 0,
|
||||
"self": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"stream": 1,
|
||||
"peer": {
|
||||
"host": "75.167.159.54",
|
||||
"port": 8444
|
||||
},
|
||||
"info": {
|
||||
"lastseen": 1620741290.255359,
|
||||
"rating": 0,
|
||||
"self": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"stream": 1,
|
||||
"peer": {
|
||||
"host": "95.165.168.168",
|
||||
"port": 8444
|
||||
},
|
||||
"info": {
|
||||
"lastseen": 1620741290.255359,
|
||||
"rating": 0,
|
||||
"self": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"stream": 1,
|
||||
"peer": {
|
||||
"host": "85.180.139.241",
|
||||
"port": 8444
|
||||
},
|
||||
"info": {
|
||||
"lastseen": 1620741290.255359,
|
||||
"rating": 0,
|
||||
"self": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"stream": 1,
|
||||
"peer": {
|
||||
"host": "158.222.217.190",
|
||||
"port": 8080
|
||||
},
|
||||
"info": {
|
||||
"lastseen": 1620741290.255359,
|
||||
"rating": 0,
|
||||
"self": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"stream": 1,
|
||||
"peer": {
|
||||
"host": "178.62.12.187",
|
||||
"port": 8448
|
||||
},
|
||||
"info": {
|
||||
"lastseen": 1620741290.255359,
|
||||
"rating": 0,
|
||||
"self": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"stream": 1,
|
||||
"peer": {
|
||||
"host": "24.188.198.204",
|
||||
"port": 8111
|
||||
},
|
||||
"info": {
|
||||
"lastseen": 1620741290.255359,
|
||||
"rating": 0,
|
||||
"self": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"stream": 1,
|
||||
"peer": {
|
||||
"host": "109.147.204.113",
|
||||
"port": 1195
|
||||
},
|
||||
"info": {
|
||||
"lastseen": 1620741290.255359,
|
||||
"rating": 0,
|
||||
"self": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"stream": 1,
|
||||
"peer": {
|
||||
"host": "178.11.46.221",
|
||||
"port": 8444
|
||||
},
|
||||
"info": {
|
||||
"lastseen": 1620741290.255359,
|
||||
"rating": 0,
|
||||
"self": false
|
||||
}
|
||||
}
|
||||
]
|
BIN
src/bitmessagekivy/tests/sampleData/messages.dat
Normal file
BIN
src/bitmessagekivy/tests/sampleData/messages.dat
Normal file
Binary file not shown.
|
@ -1 +1 @@
|
|||
18675
|
||||
16342
|
||||
|
|
|
@ -36,7 +36,7 @@ def set_temp_data():
|
|||
|
||||
class TeleniumTestProcess(TeleniumTestCase):
|
||||
"""Setting Screen Functionality Testing"""
|
||||
cmd_entrypoint = [os.path.join(os.path.abspath(os.getcwd()), 'main_test.py')]
|
||||
cmd_entrypoint = [os.path.join(os.path.abspath(os.getcwd()), 'src', 'main_test.py')]
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
|
||||
from bitmessagekivy.tests.telenium_process import TeleniumTestProcess
|
||||
from .telenium_process import TeleniumTestProcess
|
||||
from .common import ordered
|
||||
|
||||
data = [
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
from bitmessagekivy.tests.telenium_process import TeleniumTestProcess
|
||||
from .telenium_process import TeleniumTestProcess
|
||||
from .common import ordered
|
||||
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import os
|
||||
import tempfile
|
||||
|
||||
from bitmessagekivy.tests.telenium_process import TeleniumTestProcess, cleanup
|
||||
from .telenium_process import TeleniumTestProcess, cleanup
|
||||
from .common import ordered
|
||||
from random import choice
|
||||
from string import ascii_lowercase
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
from bitmessagekivy.tests.telenium_process import TeleniumTestProcess
|
||||
from .telenium_process import TeleniumTestProcess
|
||||
from .common import ordered
|
||||
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
from bitmessagekivy.tests.telenium_process import TeleniumTestProcess
|
||||
from .telenium_process import TeleniumTestProcess
|
||||
from .common import ordered
|
||||
|
||||
data = [
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
from bitmessagekivy.tests.telenium_process import TeleniumTestProcess
|
||||
from .telenium_process import TeleniumTestProcess
|
||||
|
||||
|
||||
class NetwrokStatusScreen(TeleniumTestProcess):
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
from bitmessagekivy.tests.telenium_process import TeleniumTestProcess
|
||||
from .telenium_process import TeleniumTestProcess
|
||||
|
||||
|
||||
class PaymentScreen(TeleniumTestProcess):
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
from bitmessagekivy.tests.telenium_process import TeleniumTestProcess
|
||||
from .telenium_process import TeleniumTestProcess
|
||||
from .common import ordered
|
||||
|
||||
data = [
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
from bitmessagekivy.tests.telenium_process import TeleniumTestProcess
|
||||
from .telenium_process import TeleniumTestProcess
|
||||
|
||||
|
||||
class SettingScreen(TeleniumTestProcess):
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
from bitmessagekivy.tests.telenium_process import TeleniumTestProcess
|
||||
from .telenium_process import TeleniumTestProcess
|
||||
|
||||
|
||||
class TrashMessage(TeleniumTestProcess):
|
||||
|
@ -19,6 +19,6 @@ class TrashMessage(TeleniumTestProcess):
|
|||
self.cli.sleep(4)
|
||||
self.cli.click_on('//MDList[0]/CutsomSwipeToDeleteItem[0]//MDIconButton[0]')
|
||||
self.cli.sleep(2)
|
||||
# self.cli.click_on('//MDDialog/MDCard[0]/AnchorLayout[0]/MDBoxLayout[0]/MDFlatButton[0]')
|
||||
self.cli.click_on('//MDDialog/DialogFakeCard[0]/AnchorLayout[0]/MDBoxLayout[0]/MDFlatButton[0]')
|
||||
self.cli.click_on('//MDDialog/MDCard[0]/AnchorLayout[0]/MDBoxLayout[0]/MDFlatButton[0]')
|
||||
# self.cli.click_on('//MDDialog/DialogFakeCard[0]/AnchorLayout[0]/MDBoxLayout[0]/MDFlatButton[0]')
|
||||
self.cli.sleep(4)
|
||||
|
|
|
@ -9,7 +9,7 @@ def unittest_discover():
|
|||
"""Explicit test suite creation"""
|
||||
loader = unittest.defaultTestLoader
|
||||
loader.sortTestMethodsUsing = lambda a, b: random.randint(-1, 1)
|
||||
return loader.discover('bitmessagekivy.tests')
|
||||
return loader.discover('src.bitmessagekivy.tests')
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
Reference in New Issue
Block a user