summaryrefslogtreecommitdiffstats
path: root/tests/regress/issue46.py
diff options
context:
space:
mode:
authorgraham.gower <graham.gower@e8e0d7a0-c8d9-11dd-a880-a1081c7ac358>2010-09-14 20:39:22 (EDT)
committer graham.gower <graham.gower@e8e0d7a0-c8d9-11dd-a880-a1081c7ac358>2010-09-14 20:39:22 (EDT)
commit2ea9af9a660ccf765ab4cd3ef84affa7d77527d0 (patch)
tree3b2d6bfd3aceb795f2327c36c4d99da5cf74abc9 /tests/regress/issue46.py
parent442cfaa9075c7cdc8839eee9efd6b0e1a662e982 (diff)
Add simple regression testing code and tests for some issues.
Written with python3 only because I was reading a tutorial and wanted to do something useful with it. git-svn-id: http://opkg.googlecode.com/svn/trunk@566 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
Diffstat (limited to 'tests/regress/issue46.py')
-rwxr-xr-xtests/regress/issue46.py39
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/regress/issue46.py b/tests/regress/issue46.py
new file mode 100755
index 0000000..814b05d
--- /dev/null
+++ b/tests/regress/issue46.py
@@ -0,0 +1,39 @@
+#!/usr/bin/python3
+
+import os
+import opk, cfg, opkgcl
+
+opk.regress_init()
+
+o = opk.OpkGroup()
+o.add(Package="a", Version="1.0", Architecture="all", Recommends="b")
+o.add(Package="b", Version="2.0", Architecture="all")
+o.write_opk()
+o.write_list()
+
+# prime the status file so 'b' is not installed as a recommendation
+status_filename = "{}/usr/lib/opkg/status".format(cfg.offline_root)
+f = open(status_filename, "w")
+f.write("Package: b\n")
+f.write("Version: 1.0\n")
+f.write("Architecture: all\n")
+f.write("Status: deinstall hold not-installed\n")
+f.close()
+
+opkgcl.update()
+
+opkgcl.install("a")
+if opkgcl.is_installed("b"):
+ print(__file__, ": Package 'b' installed despite "
+ "deinstall/hold status.")
+ exit(False)
+
+opkgcl.remove("a")
+opkgcl.install("a")
+if opkgcl.is_installed("b"):
+ print(__file__, ": Package 'b' installed - deinstall/hold status "
+ "not retained.")
+ exit(False)
+
+opkgcl.remove("a")
+open(status_filename, "w").close()