diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2012-11-05 19:36:29 +0100 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2012-11-06 08:27:44 +1100 |
commit | d02c8ba122cef7d8b254e5be3ae757eb3bb14235 (patch) | |
tree | 72118ed215f6273386e2b802ebbac50c41fc3b9d /buildtools | |
parent | 97102fa9963ba88f4ab72165a02071990031a73b (diff) | |
download | samba-d02c8ba122cef7d8b254e5be3ae757eb3bb14235.tar.gz samba-d02c8ba122cef7d8b254e5be3ae757eb3bb14235.tar.bz2 samba-d02c8ba122cef7d8b254e5be3ae757eb3bb14235.zip |
wafsamba.samba_abi: Add basic unit tests.
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Stephen Gallagher <sgallagh@redhat.com>
Diffstat (limited to 'buildtools')
-rw-r--r-- | buildtools/wafsamba/samba_abi.py | 2 | ||||
-rw-r--r-- | buildtools/wafsamba/tests/test_abi.py | 50 |
2 files changed, 51 insertions, 1 deletions
diff --git a/buildtools/wafsamba/samba_abi.py b/buildtools/wafsamba/samba_abi.py index eb53f8c69f..c325b3323e 100644 --- a/buildtools/wafsamba/samba_abi.py +++ b/buildtools/wafsamba/samba_abi.py @@ -176,7 +176,7 @@ def abi_write_vscript(f, libname, current_version, versions, symmap, abi_match): if symver == current_version: break f.write("%s {\n" % symver) - if k in invmap: + if k in sorted(invmap.keys()): f.write("\tglobal:\n") for s in invmap.get(k, []): f.write("\t\t%s;\n" % s); diff --git a/buildtools/wafsamba/tests/test_abi.py b/buildtools/wafsamba/tests/test_abi.py index 0aa0d56182..42c4697cde 100644 --- a/buildtools/wafsamba/tests/test_abi.py +++ b/buildtools/wafsamba/tests/test_abi.py @@ -17,9 +17,12 @@ from wafsamba.tests import TestCase from wafsamba.samba_abi import ( + abi_write_vscript, normalise_signature, ) +from cStringIO import StringIO + class NormaliseSignatureTests(TestCase): @@ -51,3 +54,50 @@ class NormaliseSignatureTests(TestCase): 'uuid = {time_low = 2324192516, time_mid = 7403, time_hi_and_version = 4553, clock_seq = "\\237\\350", node = "\\b\\000+\\020H`"}, if_version = 2', normalise_signature('$244 = {uuid = {time_low = 2324192516, time_mid = 7403, time_hi_and_version = 4553, clock_seq = "\\237\\350", node = "\\b\\000+\\020H`"}, if_version = 2}')) + +class WriteVscriptTests(TestCase): + + def test_one(self): + f = StringIO() + abi_write_vscript(f, "MYLIB", "1.0", [], { + "old": "1.0", + "new": "1.0"}, ["*"]) + self.assertEquals(f.getvalue(), """\ +1.0 { +\tglobal: +\t\t*; +}; +""") + + def test_simple(self): + # No restrictions. + f = StringIO() + abi_write_vscript(f, "MYLIB", "1.0", ["0.1"], { + "old": "0.1", + "new": "1.0"}, ["*"]) + self.assertEquals(f.getvalue(), """\ +MYLIB_0.1 { +\tglobal: +\t\told; +}; + +1.0 { +\tglobal: +\t\t*; +}; +""") + + def test_exclude(self): + f = StringIO() + abi_write_vscript(f, "MYLIB", "1.0", [], { + "exc_old": "0.1", + "old": "0.1", + "new": "1.0"}, ["!exc_*"]) + self.assertEquals(f.getvalue(), """\ +1.0 { +\tglobal: +\t\t*; +\tlocal: +\t\texc_*; +}; +""") |