aboutsummaryrefslogtreecommitdiffstats
path: root/selftest/trial_test
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2020-05-06 18:35:26 +0200
committerPau Espin Pedrol <pespin@sysmocom.de>2020-05-06 18:49:31 +0200
commitab1904a307b531dbd1c738ef04eeeeb68f9920b3 (patch)
tree665d524265171d0e977633f4c29536b9174d8364 /selftest/trial_test
parent636f560dc2f26d303a0bdb7115744cb402159131 (diff)
selftest: Move tests into own subdirectories
Diffstat (limited to 'selftest/trial_test')
l---------selftest/trial_test/_prep.py1
-rw-r--r--selftest/trial_test/trial_test.err0
-rw-r--r--selftest/trial_test/trial_test.ok16
-rw-r--r--selftest/trial_test/trial_test.ok.ign3
-rwxr-xr-xselftest/trial_test/trial_test.py49
5 files changed, 69 insertions, 0 deletions
diff --git a/selftest/trial_test/_prep.py b/selftest/trial_test/_prep.py
new file mode 120000
index 0000000..9cea3fe
--- /dev/null
+++ b/selftest/trial_test/_prep.py
@@ -0,0 +1 @@
+../_prep.py \ No newline at end of file
diff --git a/selftest/trial_test/trial_test.err b/selftest/trial_test/trial_test.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/selftest/trial_test/trial_test.err
diff --git a/selftest/trial_test/trial_test.ok b/selftest/trial_test/trial_test.ok
new file mode 100644
index 0000000..8c6a567
--- /dev/null
+++ b/selftest/trial_test/trial_test.ok
@@ -0,0 +1,16 @@
+- make a few trials dirs
+[TMP]/first
+[TMP]/second
+[TMP]/third
+- fetch trial dirs in order
+first
+['taken']
+second
+third
+- no more trial dirs left
+None
+- test checksum verification
+- detect wrong checksum
+ok, got RuntimeError: Checksum mismatch for '[PATH]/trial_test/invalid_checksum/file2' vs. '[PATH]/trial_test/invalid_checksum/checksums.md5' line 2
+- detect missing file
+ok, got RuntimeError: File listed in checksums file but missing in trials dir: '[PATH]/trial_test/missing_file/file2' vs. '[PATH]/trial_test/missing_file/checksums.md5' line 2
diff --git a/selftest/trial_test/trial_test.ok.ign b/selftest/trial_test/trial_test.ok.ign
new file mode 100644
index 0000000..1a969de
--- /dev/null
+++ b/selftest/trial_test/trial_test.ok.ign
@@ -0,0 +1,3 @@
+/tmp/[^/]* [TMP]
+....-..-.._..-..-.. [TIMESTAMP]
+'[^']*/trial_test '[PATH]/trial_test
diff --git a/selftest/trial_test/trial_test.py b/selftest/trial_test/trial_test.py
new file mode 100755
index 0000000..a99428a
--- /dev/null
+++ b/selftest/trial_test/trial_test.py
@@ -0,0 +1,49 @@
+#!/usr/bin/env python3
+
+import time
+import _prep
+import os
+from osmo_gsm_tester.core import util
+from osmo_gsm_tester.core.trial import Trial
+
+workdir = util.get_tempdir()
+
+trials_dir = util.Dir(workdir)
+
+print('- make a few trials dirs')
+print(trials_dir.mkdir('first'))
+time.sleep(1)
+print(trials_dir.mkdir('second'))
+time.sleep(1)
+print(trials_dir.mkdir('third'))
+
+print('- fetch trial dirs in order')
+t = Trial.next(trials_dir)
+print(t)
+print(repr(sorted(t.dir.children())))
+print(Trial.next(trials_dir))
+print(Trial.next(trials_dir))
+
+print('- no more trial dirs left')
+print(repr(Trial.next(trials_dir)))
+
+print('- test checksum verification')
+d = util.Dir('trial_test')
+t = Trial(d.child('valid_checksums'))
+t.verify()
+
+print('- detect wrong checksum')
+t = Trial(d.child('invalid_checksum'))
+try:
+ t.verify()
+except RuntimeError as e:
+ print('ok, got RuntimeError: %s' % str(e))
+
+print('- detect missing file')
+t = Trial(d.child('missing_file'))
+try:
+ t.verify()
+except RuntimeError as e:
+ print('ok, got RuntimeError: %s' % str(e))
+
+# vim: expandtab tabstop=4 shiftwidth=4