From 09a7b135a192214c9230f64b1000105a31376ce0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Metin?= Date: Sat, 17 Sep 2005 19:14:22 +0000 Subject: [PATCH] - add pccts for testing zip archives. - modify archivetests accordingly. --- tests/archivetests.py | 26 ++++---- tests/pccts/actions.py | 53 ++++++++++++++++ tests/pccts/files/pccts-1.33.33-gentoo.diff | 69 +++++++++++++++++++++ tests/pccts/pspec.xml | 41 ++++++++++++ 4 files changed, 177 insertions(+), 12 deletions(-) create mode 100644 tests/pccts/actions.py create mode 100644 tests/pccts/files/pccts-1.33.33-gentoo.diff create mode 100644 tests/pccts/pspec.xml diff --git a/tests/archivetests.py b/tests/archivetests.py index b1ba964b..7acbbd2f 100644 --- a/tests/archivetests.py +++ b/tests/archivetests.py @@ -53,7 +53,7 @@ class ArchiveFileTestCase(unittest.TestCase): "5af9dd7d754f788cf511c57ce0af3d555fed009d") def testUnpackZip(self): - bctx = BuildContext("tests/sandbox/pspec.xml") + bctx = BuildContext("tests/pccts/pspec.xml") assert bctx.spec.source.archiveType == "zip" @@ -62,22 +62,24 @@ class ArchiveFileTestCase(unittest.TestCase): achv.unpack(cleanDir=True) targetDir = bctx.pkg_work_dir() - assert pathexists(targetDir + "/sandbox") + assert pathexists(targetDir + "/pccts") - testfile = targetDir + "/sandbox/loremipsum.txt" + testfile = targetDir + "/pccts/history.txt" assert pathexists(testfile) # check file integrity self.assertEqual(util.sha1_file(testfile), - "80abb91ee44eb6eb69defa1e0760e58451351b94") + "f2be0f9783e84e98fe4e2b8201a8f506fcc07a4d") +# TODO: no link file in pccts package. Need to find a ZIP file +# containing a symlink # check for symbolic links - testfile = targetDir + "/sandbox/testdir/link1" - assert islink(testfile) +# testfile = targetDir + "/sandbox/testdir/link1" +# assert islink(testfile) def testMakeZip(self): # first unpack our dear sandbox.zip - bctx = BuildContext("tests/sandbox/pspec.xml") + bctx = BuildContext("tests/pccts/pspec.xml") targetDir = bctx.pkg_work_dir() achv = sourcearchive.SourceArchive(bctx) achv.fetch(interactive=False) @@ -86,7 +88,7 @@ class ArchiveFileTestCase(unittest.TestCase): newZip = targetDir + "/new.zip" zip = archive.ArchiveZip(newZip, 'zip', 'w') - sourceDir = targetDir + "/sandbox" + sourceDir = targetDir + "/pccts" zip.add_to_archive(sourceDir) zip.close() @@ -94,7 +96,7 @@ class ArchiveFileTestCase(unittest.TestCase): def testUnpackZipCond(self): - bctx = BuildContext("tests/sandbox/pspec.xml") + bctx = BuildContext("tests/pccts/pspec.xml") url = uri.URI(bctx.spec.source.archiveUri) targetDir = bctx.pkg_work_dir() filePath = join(config.archives_dir(), url.filename()) @@ -106,9 +108,9 @@ class ArchiveFileTestCase(unittest.TestCase): assert bctx.spec.source.archiveType == "zip" achv = archive.Archive(filePath, bctx.spec.source.archiveType) - achv.unpack_files(["sandbox/loremipsum.txt"], targetDir) - assert pathexists(targetDir + "/sandbox") - testfile = targetDir + "/sandbox/loremipsum.txt" + achv.unpack_files(["pccts/history.txt"], targetDir) + assert pathexists(targetDir + "/pccts") + testfile = targetDir + "/pccts/history.txt" assert pathexists(testfile) suite = unittest.makeSuite(ArchiveFileTestCase) diff --git a/tests/pccts/actions.py b/tests/pccts/actions.py new file mode 100644 index 00000000..50add5ca --- /dev/null +++ b/tests/pccts/actions.py @@ -0,0 +1,53 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Copyright (C) 2005, TUBITAK/UEKAE +# +# This program is free software; you can redistribute it and/or modify it under +# the terms of the GNU General Public License as published by the Free +# Software Foundation; either version 2 of the License, or (at your option) +# any later version. +# +# Please read the COPYING file. +# Timu EREN + +from pisi.actionsapi import autotools +from pisi.actionsapi import get +from pisi.actionsapi import pisitools +from pisi.actionsapi import shelltools + +WorkDir = "pccts" + +def setup(): + shelltools.export("COPT", get.CFLAGS()) + +def build(): +# autotools.make("COPT=%s" % (get.CFLAGS())) + autotools.make() + +def install(): + #autotools.install("") + + pisitools.dobin("bin/antlr") + pisitools.dobin("bin/dlg") + pisitools.dobin("bin/genmk") + pisitools.dobin("bin/sor") + + pisitools.insinto("/usr/include/pccts","h/*.h") + pisitools.insinto("/usr/include/pccts","h/*.c") + pisitools.insinto("/usr/include/pccts","h/*.cpp") + + + pisitools.insinto("/usr/include/pccts/sorcerer","sorcerer/h/*.h") + pisitools.insinto("/usr/include/pccts/sorcerer","sorcerer/h/*.c") + pisitools.insinto("/usr/include/pccts/sorcerer","sorcerer/h/*.cpp") + + + pisitools.insinto("/usr/include/pccts/sorcerer/lib","sorcerer/lib/*.h") + pisitools.insinto("/usr/include/pccts/sorcerer/lib","sorcerer/lib/*.c") + pisitools.insinto("/usr/include/pccts/sorcerer/lib","sorcerer/lib/*.cpp") + + pisitools.dodoc("CHANGES*", "KNOWN_PROBLEMS*", "README", "RIGHTS", "history.txt", "history.ps") + pisitools.dodoc("sorcerer/README", "sorcerer/UPDATES") + + pisitools.doman("dlg/dlg.1", "antlr/antlr.1") diff --git a/tests/pccts/files/pccts-1.33.33-gentoo.diff b/tests/pccts/files/pccts-1.33.33-gentoo.diff new file mode 100644 index 00000000..1594cd96 --- /dev/null +++ b/tests/pccts/files/pccts-1.33.33-gentoo.diff @@ -0,0 +1,69 @@ +--- pccts-1.33.33/support/genmk/genmk.c Fri Aug 3 17:12:51 2001 ++++ pccts-1.33.33/support/genmk/genmk-gentoo.c Fri Aug 3 17:12:14 2001 +@@ -7,6 +7,11 @@ + * U of MN + */ + ++/* modified 20010803 by Peter Kadau ++ * for better fhs-compliance ++ * i.e. from "none" to "hmmm soso" ;-) ++ */ ++ + #include + #include + #include "pcctscfg.h" /* be sensitive to what ANTLR/DLG call the files */ +@@ -65,7 +70,7 @@ + static int nondef_comp = 0; /* 1=compiler is non default */ + static char *compilerCCC="CC"; + static char *compilerCC="cc"; +-static char *pccts_path="/usr/local/pccts"; ++static char *pccts_path="/usr/include/pccts"; + + #ifdef __STDC__ + void help(void); +@@ -356,7 +361,7 @@ + { "-cfiles",1,pCFiles, "Additional files in C or C++ to compile"}, + { "-sor",0,pSor, "Start of sorcerer group"}, + { "-pccts_path",1,ppccts_path, +- "Path for $PCCTS directory (default is /usr/local/pccts)"}, ++ "Path for $PCCTS directory (default is /usr/include/pccts)"}, + { "-compiler",1,pCompiler, + "Default compiler (default is CC/cc)"}, + { "*", 0,pFile, "" }, /* anything else is a file */ +@@ -495,13 +500,13 @@ + else printf("SCAN = %s%s\n", DIR(), dlg_class); + + printf("PCCTS = %s\n",pccts_path); +- printf("ANTLR_H = $(PCCTS)%sh\n", DirectorySymbol); ++ printf("ANTLR_H = $(PCCTS)\n"); + if (num_sors>0) { +- printf("SOR_H = $(PCCTS)%ssorcerer%sh\n", DirectorySymbol, DirectorySymbol); ++ printf("SOR_H = $(PCCTS)%ssorcerer\n", DirectorySymbol); + printf("SOR_LIB = $(PCCTS)%ssorcerer%slib\n", + DirectorySymbol, DirectorySymbol); + } +- printf("BIN = $(PCCTS)%sbin\n", DirectorySymbol); ++ printf("BIN = %susr%sbin\n", DirectorySymbol, DirectorySymbol); + printf("ANTLR = $(BIN)%santlr\n", DirectorySymbol); + printf("DLG = $(BIN)%sdlg\n", DirectorySymbol); + if (num_sors>0) printf("SOR = $(BIN)%ssor\n", DirectorySymbol); +--- pccts-1.33.33/sorcerer/lib/sorlist.c 1999-06-30 03:15:56.000000000 +0200 ++++ pccts-1.33.33/sorcerer/lib/sorlist.c.new 2003-05-23 11:11:09.000000000 +0200 +@@ -28,6 +28,7 @@ + */ + #include + #include ++#include "pcctscfg.h" + + #ifdef PCCTS_USE_STDARG + #include +--- pccts-1.33.33/sorcerer/lib/sintstack.c 1999-06-30 15:08:06.000000000 +0200 ++++ pccts-1.33.33/sorcerer/lib/sintstack.c.new 2003-05-23 12:54:26.000000000 +0200 +@@ -28,6 +28,7 @@ + */ + #include + #include ++#include "pcctscfg.h" + + #ifdef PCCTS_USE_STDARG + #include diff --git a/tests/pccts/pspec.xml b/tests/pccts/pspec.xml new file mode 100644 index 00000000..3886c0e6 --- /dev/null +++ b/tests/pccts/pspec.xml @@ -0,0 +1,41 @@ + + + + + pccts + http://www.polhode.com + + Timu EREN + selamtux@gmail.com + + BSD + category + component + Purdue Compiler Construction Tool Set is an embedded C/C++ parser generator + Purdue Compiler Construction Tool Set is an embedded C/C++ parser generator + http://www.polhode.com/pccts133mr33.zip + + pccts-1.33.33-gentoo.diff + + + unzip + patch + + + + 2005-09-16 + 1.33.33 + 1 + + + + + pccts + + /usr/include + /usr/share/doc + /usr/bin + /usr/share/man + + +