aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJauhien Piatlicki (jauhien) <piatlicki@gmail.com>2013-07-09 01:50:07 +0200
committerJauhien Piatlicki (jauhien) <piatlicki@gmail.com>2013-07-09 01:50:07 +0200
commite652256da64a26f3a2417b2ba95b813e8fd610f8 (patch)
tree07f4c895f5bf2d3dad68d9640812f0aadb0a039a /tests
parentebuild generation for ELPA backend added, different fixes in ebuild generator (diff)
downloadg-sorcery-e652256da64a26f3a2417b2ba95b813e8fd610f8.tar.gz
g-sorcery-e652256da64a26f3a2417b2ba95b813e8fd610f8.tar.bz2
g-sorcery-e652256da64a26f3a2417b2ba95b813e8fd610f8.zip
g_elpa: all stuff necessary for ebuild generation
Diffstat (limited to 'tests')
-rw-r--r--tests/test_elpa_ebuild.py41
-rw-r--r--tests/test_elpa_metadata.py47
2 files changed, 83 insertions, 5 deletions
diff --git a/tests/test_elpa_ebuild.py b/tests/test_elpa_ebuild.py
index 2c7cdf5..1895340 100644
--- a/tests/test_elpa_ebuild.py
+++ b/tests/test_elpa_ebuild.py
@@ -23,7 +23,7 @@ from tests.test_elpa_db import fill_database, packages
class TestElpaEbuildGenerator(BaseTest):
- def test_generate(self):
+ def test_generate_without_digest(self):
edb = elpa_db.ElpaDB(os.path.join(self.tempdir.name, 'db'),
repo_uri = 'http://127.0.0.1:8080')
fill_database(edb, packages, self.tempdir.name)
@@ -32,27 +32,58 @@ class TestElpaEbuildGenerator(BaseTest):
self.assertEqual(src,
['# automatically generated by g-elpa',
'# please do not edit this file', '',
- 'EAPI=5', '', 'inherit g-elpa', '',
+ 'EAPI=5', '', 'REPO_URI="http://127.0.0.1:8080"',
+ 'PKG_TYPE="tar"', 'REALNAME="ack"', '', 'inherit g-elpa', '',
'DESCRIPTION="Interface to ack-like source code search tools"',
'HOMEPAGE="http://127.0.0.1:8080"', 'SRC_URI=""',
'LICENSE="GPL-2"', '', 'SLOT="0"', 'KEYWORDS="~amd64 ~x86"',
- 'IUSE=""', '', 'REPO_URI="http://127.0.0.1:8080"',
- 'PKG_TYPE="tar"', 'REALNAME="ack"', '', 'DEPEND=""', 'RDEPEND=""'])
+ 'IUSE=""', '', 'DEPEND=""', 'RDEPEND=""'])
src = ebuild_generator.generate(package_db.Package('app-emacs', 'dict-tree', '0.12.8'))
self.assertEqual(src,
['# automatically generated by g-elpa',
'# please do not edit this file', '', 'EAPI=5', '',
+ 'REPO_URI="http://127.0.0.1:8080"', 'PKG_TYPE="tar"',
+ 'REALNAME="dict-tree"', '',
'inherit g-elpa', '', 'DESCRIPTION="Dictionary data structure"',
'HOMEPAGE="http://127.0.0.1:8080"', 'SRC_URI=""',
'LICENSE="GPL-2"', '', 'SLOT="0"',
'KEYWORDS="~amd64 ~x86"', 'IUSE=""', '',
+ 'DEPEND="app-emacs/trie-0.2.5\napp-emacs/tNFA-0.1.1\napp-emacs/heap-0.3"',
+ 'RDEPEND="app-emacs/trie-0.2.5\napp-emacs/tNFA-0.1.1\napp-emacs/heap-0.3"'])
+
+ def test_generate_with_digest(self):
+ edb = elpa_db.ElpaDB(os.path.join(self.tempdir.name, 'db'),
+ repo_uri = 'http://127.0.0.1:8080')
+ fill_database(edb, packages, self.tempdir.name)
+ ebuild_generator = ebuild.ElpaEbuildWithDigestGenerator(edb)
+ src = ebuild_generator.generate(package_db.Package('app-emacs', 'ack', '1.2'))
+ self.assertEqual(src,
+ ['# automatically generated by g-elpa',
+ '# please do not edit this file', '',
+ 'EAPI=5', '', 'REPO_URI="http://127.0.0.1:8080"',
+ 'PKG_TYPE="tar"', 'REALNAME="ack"', '', 'inherit g-elpa', '',
+ 'DESCRIPTION="Interface to ack-like source code search tools"',
+ 'HOMEPAGE="http://127.0.0.1:8080"',
+ 'SRC_URI="${REPO_URI}${REALNAME}-${PV}.${SUFFIX}"',
+ 'LICENSE="GPL-2"', '', 'SLOT="0"', 'KEYWORDS="~amd64 ~x86"',
+ 'IUSE=""', '', 'DEPEND=""', 'RDEPEND=""'])
+ src = ebuild_generator.generate(package_db.Package('app-emacs', 'dict-tree', '0.12.8'))
+ self.assertEqual(src,
+ ['# automatically generated by g-elpa',
+ '# please do not edit this file', '', 'EAPI=5', '',
'REPO_URI="http://127.0.0.1:8080"', 'PKG_TYPE="tar"',
'REALNAME="dict-tree"', '',
+ 'inherit g-elpa', '', 'DESCRIPTION="Dictionary data structure"',
+ 'HOMEPAGE="http://127.0.0.1:8080"',
+ 'SRC_URI="${REPO_URI}${REALNAME}-${PV}.${SUFFIX}"',
+ 'LICENSE="GPL-2"', '', 'SLOT="0"',
+ 'KEYWORDS="~amd64 ~x86"', 'IUSE=""', '',
'DEPEND="app-emacs/trie-0.2.5\napp-emacs/tNFA-0.1.1\napp-emacs/heap-0.3"',
'RDEPEND="app-emacs/trie-0.2.5\napp-emacs/tNFA-0.1.1\napp-emacs/heap-0.3"'])
def suite():
suite = unittest.TestSuite()
- suite.addTest(TestElpaEbuildGenerator('test_generate'))
+ suite.addTest(TestElpaEbuildGenerator('test_generate_without_digest'))
+ suite.addTest(TestElpaEbuildGenerator('test_generate_with_digest'))
return suite
diff --git a/tests/test_elpa_metadata.py b/tests/test_elpa_metadata.py
new file mode 100644
index 0000000..8144999
--- /dev/null
+++ b/tests/test_elpa_metadata.py
@@ -0,0 +1,47 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+"""
+ test_elpa_metadata.py
+ ~~~~~~~~~~~~~~~~~~~~~
+
+ ELPA metadata generator test suite
+
+ :copyright: (c) 2013 by Jauhien Piatlicki
+ :license: GPL-2, see LICENSE for more details.
+"""
+
+import os, unittest
+
+from g_sorcery import package_db, metadata
+
+from g_elpa import elpa_db
+
+from tests.base import BaseTest
+
+from tests.test_elpa_db import fill_database, packages
+
+class TestElpaEbuildGenerator(BaseTest):
+
+ def test_generate(self):
+ edb = elpa_db.ElpaDB(os.path.join(self.tempdir.name, 'db'),
+ repo_uri = 'http://127.0.0.1:8080')
+ fill_database(edb, packages, self.tempdir.name)
+ metadata_generator = metadata.MetadataGenerator(edb)
+ mdxml = metadata_generator.generate(package_db.Package('app-emacs', 'ack', '1.2'))
+ self.assertEqual(mdxml,
+ ['<?xml version="1.0" encoding="utf-8"?>',
+ '<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">',
+ '<pkgmetadata>',
+ '\t<maintainer>',
+ '\t\t<email>piatlicki@gmail.com</email>',
+ '\t\t<name>Jauhien Piatlicki</name>',
+ '\t</maintainer>',
+ '\t<longdescription>Interface to ack-like source code search tools</longdescription>',
+ '</pkgmetadata>'])
+
+
+def suite():
+ suite = unittest.TestSuite()
+ suite.addTest(TestElpaEbuildGenerator('test_generate'))
+ return suite