diff options
Diffstat (limited to 'tests/regress')
-rw-r--r-- | tests/regress/Makefile | 13 | ||||
-rwxr-xr-x | tests/regress/issue72.py | 52 |
2 files changed, 65 insertions, 0 deletions
diff --git a/tests/regress/Makefile b/tests/regress/Makefile new file mode 100644 index 0000000..c438a16 --- /dev/null +++ b/tests/regress/Makefile @@ -0,0 +1,13 @@ +PYTHON=/usr/bin/python3 +REGRESSION_TESTS=issue26.py issue31.py issue45.py issue46.py \ + issue50.py issue51.py issue55.py issue58.py \ + issue72.py + +regress: + @for test in $(REGRESSION_TESTS); do \ + echo $$test; \ + $(PYTHON) $$test; \ + done + +clean: + rm -f *.pyc diff --git a/tests/regress/issue72.py b/tests/regress/issue72.py new file mode 100755 index 0000000..3c71401 --- /dev/null +++ b/tests/regress/issue72.py @@ -0,0 +1,52 @@ +#!/usr/bin/python3 + +import os +import opk, cfg, opkgcl + +opk.regress_init() + +long_dir = 110*"a" +long_b = 110*"b" +long_filename = long_dir + "/"+ long_b +long_filename2 = long_dir + "/" + 110*"c" + +os.mkdir(long_dir) +open(long_filename, "w").close() +os.symlink(long_b, long_filename2) +a = opk.Opk(Package="a", Version="1.0", Architecture="all") +a.write(data_files=[long_dir, long_filename, long_filename2]) +os.unlink(long_filename) +os.unlink(long_filename2) +os.rmdir(long_dir) +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("{}/{}".format(cfg.offline_root, long_dir)): + print(__file__, ": dir with name longer than 100 " + "characters not created.") + exit(False) + +if not os.path.exists("{}/{}".format(cfg.offline_root, long_filename)): + print(__file__, ": file with a name longer than 100 characters, " + "in dir with name longer than 100 characters, " + "not created.") + exit(False) + +if not os.path.lexists("{}/{}".format(cfg.offline_root, long_filename2)): + print(__file__, ": symlink with a name longer than 100 characters, " + "pointing at a file with a name longer than " + "100 characters," + "in dir with name longer than 100 characters, " + "not created.") + exit(False) + +linky = os.path.realpath("{}/{}".format(cfg.offline_root, long_filename2)) +linky_dst = "{}/{}".format(cfg.offline_root, long_filename) +if linky != linky_dst: + print(__file__, ": symlink path truncated.") + exit(False) + +opkgcl.remove("a") |