-
Notifications
You must be signed in to change notification settings - Fork 7
QA-273: Feature/python test runner #401
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 134 commits
Commits
Show all changes
140 commits
Select commit
Hold shift + click to select a range
a971830
start implementing a python launch controller
dothebart 0226c4e
make it work for the first time
dothebart 1c311e5
try launching outside of oskar.
dothebart c9b3760
no more pipes needed
dothebart f7abec9
adjust report directory
dothebart f797024
fix paths, thread naming.
dothebart 9ffa927
fallback if no env is configured
dothebart cb3d867
lint
dothebart 02f086e
more work on cluster etc
dothebart fdccda0
silence, proper error message for missing variable
dothebart 6ac8ab6
convert params
dothebart 30be55e
lint
dothebart 14c5b9a
fix slot
dothebart e7f4cd0
fix arangosh.conf, launching of subsequent testruns
dothebart cb69dd3
try to launch it from fish
dothebart eae8168
implement 7zip
dothebart b5d651e
add modules to the docker container
dothebart 3c7825a
more printing
dothebart 8383c4c
fix handling
dothebart 2eb57a8
Add pip3
KVS85 295c7e0
Fix typo
KVS85 70fa195
Typo 2
KVS85 7d22e6f
handle INNERWORKDIR
dothebart e4fa44f
fix missing line break
dothebart 6e91089
export settings
dothebart bd19986
fix typo
dothebart 0a423ee
on windows skip !windows tests
dothebart fdfa129
lint, refactor, simplify
dothebart ba6d7a5
install 7z
dothebart 8e2a71d
export core directory
dothebart bb55fde
work on fish integration
dothebart 4003587
similarize for new python job scheduler
dothebart 6915769
work on reprot generating
dothebart 78ecbfd
try to implement timeout
dothebart 22f9f51
also upload 7z and txt
dothebart 5cd66d6
also upload 7z and txt
dothebart d6508d9
fix deadline
dothebart 6f0b17e
fix workspace handling
dothebart 4e4e8b2
fix temporary directory handling
dothebart 6018f9a
make sure out temp directory exists
dothebart 0d899f5
RTFM fail
dothebart 9823716
don't put it to the workspace
dothebart 156d767
implement gtest invoking
dothebart 7562862
cleanup
dothebart 3acedf9
sort, lint
dothebart 4ed0cf1
prefer INNERWORKDIR
dothebart a584056
implement writing test.log
dothebart 51fe696
implement html report
dothebart 067e52f
bring back function deletet to early
dothebart 80c9e54
install the windows boomerang handler on top level
dothebart f5edab9
fix include
dothebart 9bb5fd0
fix reference
dothebart 158268f
print before killing shit
dothebart 9d9da8a
work on timeout
dothebart 33324a1
finish deadline handling, rename script
dothebart d9b1cba
fix exit code handling
dothebart 7c0e238
lint
dothebart fedca4d
thanks @mpoeter for ps aid
dothebart e601103
make the thread identifier the test plus a growing number
dothebart 6774b4a
implement central final deadline, which will kick in after 2 minutes
dothebart e050e41
remove debug output
dothebart 6ecf3ac
use /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/snap/bi…
dothebart dbc55db
wintendo next try
dothebart 37e7fe9
wintendo next try
dothebart d02e3f4
wintendo go home
dothebart 9f316b3
fix calculation of hard time limit
dothebart 2c31934
make sure nobody changes the exit code to good
dothebart 510f52c
add monkey patches
dothebart 299a8ad
cleanup deadline
dothebart 192967f
ignore exceptions if no process is there
dothebart 9dc94b2
deadline handling: prioritize incomming lines over timeout counting
dothebart 8fa4ea2
fix directory handling
dothebart e6368d7
work on result presentation
dothebart f74ce49
cleanup
dothebart b2bdab6
let the file remain open for further info
dothebart fa89e39
fix environment variable handling
dothebart f8b65fa
documentation
dothebart f1921fd
fix port handling
dothebart ae07a8b
work on deadline
dothebart b7a29ed
fix hard deadline handling
dothebart 6cd94a0
make it 20s
dothebart 00144a4
need more time
dothebart 8510dbc
list processes so we may guess whats actually going on
dothebart 122f15c
kill all, then waitpid all
dothebart 441ab0e
make threads provide half a slot.
dothebart 79652af
be sure to catch
dothebart 3f4a473
resume just in case, then kill
dothebart d500a89
resume just in case, then kill
dothebart b3f2346
ignore resume errors
dothebart 1472a13
increase volume
dothebart 586da13
lint
dothebart 6dbdb4a
lint
dothebart b72cb41
catch more
dothebart 79d29fc
add multipliers
dothebart e762bdd
more load, print load avg
dothebart 350e481
fix sorting by prio - biggest values first
dothebart 0617478
cleanup crash report for size
dothebart 1ff13b7
if test indicates its been crashing create report as well.
dothebart b10e155
more threat to the machine.
dothebart f096bc9
timeout
dothebart 12eff18
fix typo
dothebart 66f6c69
delete tzdata subdir first
dothebart 434ee8f
use load and sockets for throttle control
dothebart 2154a58
install required python libs
dothebart f7afa24
only see for load [0, 1]
dothebart c9235a2
increase container version
dothebart ea4bb9d
anounce deadline at start
dothebart 8c851db
don't print to logfile
dothebart 52d7ac7
give better feedback if arangosh fails to launch in first place, than…
dothebart a9938a7
Update helper.linux.fish
KVS85 ac06090
tschuess ruby
dothebart c6b7b97
Merge branch 'master' into feature/python_test_runner
dothebart 052df56
Merge branch 'master' of github.com:arangodb/oskar into feature/pytho…
dothebart b660d08
re-sync to be stock RTA
dothebart f47b0ba
fix container numbers, adjust #3
dothebart 0cba0b0
sync to rta
dothebart e3f52a9
resync
dothebart 9ce6a70
this is not needed anymore
dothebart e4d3303
add --fix-missing
dothebart 1a2a812
fresh python?
dothebart 3acc581
revert to tar.gz
dothebart 2f70af6
chaos tests in nightlies demand for longer timeouts, since tests run …
dothebart a09554d
Update README.md
dothebart 5b68416
Update README.md
dothebart 9a5beea
Update README.md
dothebart b7fb017
Update README.md
dothebart 1a9c364
Update README.md
dothebart 70d1842
remove more old stuff
dothebart 46f058d
Merge branch 'feature/python_test_runner' of github.com:arangodb/oska…
dothebart 2a718d8
ignore encoding errors
dothebart 1af8187
increase timeout to hard self kill
dothebart 50055d4
switch to one environment variable name
dothebart 1363b8d
env
dothebart 69b7a0e
limit the amount of coredumps
dothebart 7b9b50c
ignore access denied to open sockets
dothebart 0baa8b2
if we need to wait for the system to cool down on start...
dothebart f8841fe
make sure we don't come back good if nothing launched at all
dothebart d809254
them tiny boxes need more time
dothebart ba8d770
need more time
dothebart 54ffe77
add deadline status to testfailurs.txt
dothebart File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,4 @@ | ||
|
||
FROM ubuntu:20.04 | ||
MAINTAINER Max Neunhoeffer <[email protected]> | ||
|
||
|
@@ -7,12 +8,12 @@ ENV COMPILER_VERSION 9 | |
|
||
ENV CLANG_VERSION 12 | ||
|
||
RUN apt-get update && \ | ||
RUN apt-get update --fix-missing && \ | ||
apt-get install -y software-properties-common && \ | ||
apt-get update && \ | ||
apt-get upgrade -y | ||
|
||
RUN apt-get install -y build-essential gcc-${COMPILER_VERSION} g++-${COMPILER_VERSION} cmake make bison flex python ccache git libjemalloc-dev vim exuberant-ctags gdb fish ruby ruby-httparty ruby-rspec psmisc sudo debhelper debconf jq wget libdb-dev curl gnupg2 gcovr prometheus && gem install persistent_httparty && apt-get clean | ||
RUN apt-get install -y build-essential gcc-${COMPILER_VERSION} g++-${COMPILER_VERSION} cmake make bison flex python ccache git libjemalloc-dev vim exuberant-ctags gdb fish psmisc sudo debhelper debconf jq wget libdb-dev curl gnupg2 gcovr prometheus && apt-get clean | ||
|
||
RUN curl -L https://github.com/mozilla/sccache/releases/download/v0.2.15/sccache-v0.2.15-${ARCH}-unknown-linux-musl.tar.gz | tar xvz -C /tmp && mv /tmp/sccache-v0.2.15-${ARCH}-unknown-linux-musl/sccache /usr/bin/sccache && chmod +x /usr/bin/sccache && rm -rf /tmp/sccache-v0.2.15-${ARCH}-unknown-linux-musl | ||
|
||
|
@@ -32,4 +33,6 @@ RUN git config --global --add safe.directory /work/ArangoDB | |
RUN git config --global --add safe.directory /work/ArangoDB/enterprise | ||
RUN git config --global --add safe.directory /work/ArangoDB/docs | ||
|
||
RUN apt-get install -y python3-pip && pip3 install py7zr psutil | ||
|
||
CMD [ "/usr/bin/fish" ] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
def attach(**kwargs): | ||
return |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
#!env python | ||
""" removes terminal control sequences and other non ascii characters """ | ||
import unicodedata | ||
import re | ||
import sys | ||
|
||
is_tty = sys.stdout.isatty() | ||
PROGRESS_COUNT = 0 | ||
|
||
# 7-bit C1 ANSI sequences | ||
ANSI_ESCAPE_B = re.compile( | ||
rb""" | ||
\x1B # ESC | ||
\xE2 # throbber... | ||
\xA0 # throbber... | ||
\xA7 # throbber... | ||
\x8F # throbber... | ||
\r # cariage return | ||
(?: # 7-bit C1 Fe (except CSI) | ||
[@-Z\\-_] | ||
| # or [ for CSI, followed by a control sequence | ||
\[ | ||
[0-?]* # Parameter bytes | ||
[ -/]* # Intermediate bytes | ||
[@-~] # Final byte | ||
) | ||
""", | ||
re.VERBOSE, | ||
) | ||
|
||
|
||
def ascii_convert(the_bytes: bytes): | ||
"""convert string to only be ascii without control sequences""" | ||
return ANSI_ESCAPE_B.sub(rb"", the_bytes).decode("utf-8") | ||
|
||
|
||
# 7-bit C1 ANSI sequences | ||
ANSI_ESCAPE = re.compile( | ||
r""" | ||
\x1B # ESC | ||
\xE2 # throbber... | ||
\xA0 # throbber... | ||
\xA7 # throbber... | ||
\x8F # throbber... | ||
\r # cariage return | ||
(?: # 7-bit C1 Fe (except CSI) | ||
[@-Z\\-_] | ||
| # or [ for CSI, followed by a control sequence | ||
\[ | ||
[0-?]* # Parameter bytes | ||
[ -/]* # Intermediate bytes | ||
[@-~] # Final byte | ||
) | ||
""", | ||
re.VERBOSE, | ||
) | ||
|
||
|
||
def ascii_convert_str(the_str: str): | ||
"""convert string to only be ascii without control sequences""" | ||
return ANSI_ESCAPE.sub(rb"", the_str) | ||
|
||
|
||
def ascii_print(string): | ||
"""convert string to only be ascii without control sequences""" | ||
string = ANSI_ESCAPE.sub("", string) | ||
print("".join(ch for ch in string if ch == "\n" or unicodedata.category(ch)[0] != "C")) | ||
|
||
|
||
def print_progress(char): | ||
"""print a throbber alike that immediately is sent to the console""" | ||
# pylint: disable=global-statement | ||
global PROGRESS_COUNT | ||
print(char, end="") | ||
PROGRESS_COUNT += 1 | ||
if not is_tty and PROGRESS_COUNT % 10 == 0: | ||
# add a linebreak so we see something in jenkins (if): | ||
print("\n") | ||
sys.stdout.flush() |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
for the moment this is required so we may spawn threads for containers in later ubuntus.