summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/regress/Makefile3
-rwxr-xr-xtests/regress/filehash.py35
2 files changed, 37 insertions, 1 deletions
diff --git a/tests/regress/Makefile b/tests/regress/Makefile
index c438a16..bb9d212 100644
--- a/tests/regress/Makefile
+++ b/tests/regress/Makefile
@@ -1,7 +1,8 @@
PYTHON=/usr/bin/python3
REGRESSION_TESTS=issue26.py issue31.py issue45.py issue46.py \
issue50.py issue51.py issue55.py issue58.py \
- issue72.py
+ issue72.py \
+ filehash.py
regress:
@for test in $(REGRESSION_TESTS); do \
diff --git a/tests/regress/filehash.py b/tests/regress/filehash.py
new file mode 100755
index 0000000..e6cbe62
--- /dev/null
+++ b/tests/regress/filehash.py
@@ -0,0 +1,35 @@
+#!/usr/bin/python3
+
+import os
+import opk, cfg, opkgcl
+
+opk.regress_init()
+
+open("asdf", "w").close()
+a = opk.Opk(Package="a", Version="1.0", Architecture="all")
+a.write(data_files=["asdf"])
+b = opk.Opk(Package="b", Version="1.0", Architecture="all")
+b.write(data_files=["asdf"])
+os.unlink("asdf")
+opkgcl.install("a_1.0_all.opk")
+
+if not opkgcl.is_installed("a"):
+ print(__file__, ": Package 'a' not installed.")
+ exit(False)
+
+if not os.path.exists("{}/asdf".format(cfg.offline_root)):
+ print(__file__, ": asdf not created.")
+ exit(False)
+
+opkgcl.install("b_1.0_all.opk", "--force-overwrite")
+
+if "{}/asdf".format(cfg.offline_root) not in opkgcl.files("b"):
+ print(__file__, ": asdf not claimed by ``b''.")
+ exit(False)
+
+if "{}/asdf".format(cfg.offline_root) in opkgcl.files("a"):
+ print(__file__, ": asdf is still claimed by ``a''.")
+ exit(False)
+
+opkgcl.remove("b")
+opkgcl.remove("a")