From a611da7044175fede5f8ecfe13a055f5680fd3f9 Mon Sep 17 00:00:00 2001 From: Tom Rondeau Date: Mon, 14 Mar 2011 19:33:03 -0400 Subject: gruel: SWIGing Gruel into Python to access PMTs. --- gruel/src/python/Makefile.am | 39 +++++++++++++++++++++++++++++++++++++++ gruel/src/python/__init__.py | 1 + gruel/src/python/qa_pmt.py | 14 ++++++++++++++ gruel/src/python/run_tests.in | 17 +++++++++++++++++ 4 files changed, 71 insertions(+) create mode 100644 gruel/src/python/Makefile.am create mode 100644 gruel/src/python/__init__.py create mode 100755 gruel/src/python/qa_pmt.py create mode 100644 gruel/src/python/run_tests.in (limited to 'gruel/src/python') diff --git a/gruel/src/python/Makefile.am b/gruel/src/python/Makefile.am new file mode 100644 index 000000000..0eeaa9ad7 --- /dev/null +++ b/gruel/src/python/Makefile.am @@ -0,0 +1,39 @@ +# +# Copyright 2004,2005,2006,2008,2009 Free Software Foundation, Inc. +# +# This file is part of GNU Radio +# +# GNU Radio 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 3, or (at your option) +# any later version. +# +# GNU Radio is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Radio; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 51 Franklin Street, +# Boston, MA 02110-1301, USA. +# + +include $(top_srcdir)/Makefile.common + +TESTS = +EXTRA_DIST += run_tests.in + +if PYTHON +TESTS += run_tests + +grueldir = $(pythondir)/gruel + +noinst_PYTHON = \ + qa_pmt.py + +gruel_PYTHON = \ + __init__.py + +endif + diff --git a/gruel/src/python/__init__.py b/gruel/src/python/__init__.py new file mode 100644 index 000000000..a4917cf64 --- /dev/null +++ b/gruel/src/python/__init__.py @@ -0,0 +1 @@ +# make this a package diff --git a/gruel/src/python/qa_pmt.py b/gruel/src/python/qa_pmt.py new file mode 100755 index 000000000..fa6e680ec --- /dev/null +++ b/gruel/src/python/qa_pmt.py @@ -0,0 +1,14 @@ +#!/usr/bin/env python + +import sys; +sys.path.append("../swig/"); +sys.path.append("../swig/.libs/"); +from gruel import pmt; + +a = pmt.pmt_intern("a"); +b = pmt.pmt_from_double(123765); +d1 = pmt.pmt_make_dict(); +d2 = pmt.pmt_dict_add(d1, a, b); +pmt.pmt_print(d2); +print pmt.pmt_serialize_str(d2); + diff --git a/gruel/src/python/run_tests.in b/gruel/src/python/run_tests.in new file mode 100644 index 000000000..5f7bdc067 --- /dev/null +++ b/gruel/src/python/run_tests.in @@ -0,0 +1,17 @@ +#!/bin/sh + +# 1st parameter is absolute path to component source directory +# 2nd parameter is absolute path to component build directory +# 3rd parameter is path to Python QA directory + +# For OS/X +DYLD_LIBRARY_PATH=@abs_top_builddir@/gruel/src/lib/:@abs_top_builddir@/gruel/src/swig/.libs:$DYLD_LIBRARY_PATH +export DYLD_LIBRARY_PATH + +# For Win32 +PATH=@abs_top_builddir@/gruel/:@abs_top_builddir@/gruel/.libs:$PATH + +@top_builddir@/run_tests.sh \ + @abs_top_srcdir@/gruel \ + @abs_top_builddir@/gruel \ + @srcdir@ -- cgit From ee849707c09335f4c682151044a0e65321f7939d Mon Sep 17 00:00:00 2001 From: Tom Rondeau Date: Mon, 14 Mar 2011 21:00:13 -0400 Subject: gruel: fixing structure. Passes make check. --- gruel/src/python/Makefile.am | 2 +- gruel/src/python/__init__.py | 26 ++++++++++++++++++++++- gruel/src/python/qa_pmt.py | 48 ++++++++++++++++++++++++++++++++++--------- gruel/src/python/run_tests.in | 4 ++-- 4 files changed, 66 insertions(+), 14 deletions(-) (limited to 'gruel/src/python') diff --git a/gruel/src/python/Makefile.am b/gruel/src/python/Makefile.am index 0eeaa9ad7..5a45510d5 100644 --- a/gruel/src/python/Makefile.am +++ b/gruel/src/python/Makefile.am @@ -1,5 +1,5 @@ # -# Copyright 2004,2005,2006,2008,2009 Free Software Foundation, Inc. +# Copyright 2011 Free Software Foundation, Inc. # # This file is part of GNU Radio # diff --git a/gruel/src/python/__init__.py b/gruel/src/python/__init__.py index a4917cf64..421a9aaa8 100644 --- a/gruel/src/python/__init__.py +++ b/gruel/src/python/__init__.py @@ -1 +1,25 @@ -# make this a package +# +# Copyright 2011 Free Software Foundation, Inc. +# +# This file is part of GNU Radio +# +# GNU Radio 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 3, or (at your option) +# any later version. +# +# GNU Radio is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Radio; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 51 Franklin Street, +# Boston, MA 02110-1301, USA. +# + +# The presence of this file turns this directory into a Python package + +from pmt_swig import * + diff --git a/gruel/src/python/qa_pmt.py b/gruel/src/python/qa_pmt.py index fa6e680ec..00cdb064e 100755 --- a/gruel/src/python/qa_pmt.py +++ b/gruel/src/python/qa_pmt.py @@ -1,14 +1,42 @@ #!/usr/bin/env python +# +# Copyright 2011 Free Software Foundation, Inc. +# +# This file is part of GNU Radio +# +# GNU Radio 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 3, or (at your option) +# any later version. +# +# GNU Radio is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Radio; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 51 Franklin Street, +# Boston, MA 02110-1301, USA. +# -import sys; -sys.path.append("../swig/"); -sys.path.append("../swig/.libs/"); -from gruel import pmt; +import unittest +import pmt_swig -a = pmt.pmt_intern("a"); -b = pmt.pmt_from_double(123765); -d1 = pmt.pmt_make_dict(); -d2 = pmt.pmt_dict_add(d1, a, b); -pmt.pmt_print(d2); -print pmt.pmt_serialize_str(d2); +class test_gruel_pmt(unittest.TestCase): + def test01 (self): + a = pmt_swig.pmt_intern("a") + b = pmt_swig.pmt_from_double(123765) + d1 = pmt_swig.pmt_make_dict() + d2 = pmt_swig.pmt_dict_add(d1, a, b) + pmt_swig.pmt_print(d2) + + def test02 (self): + const = 123765 + x_pmt = pmt_swig.pmt_from_double(const) + x_int = pmt_swig.pmt_to_double(x_pmt) + self.assertEqual(x_int, const) + +if __name__ == '__main__': + unittest.main() diff --git a/gruel/src/python/run_tests.in b/gruel/src/python/run_tests.in index 5f7bdc067..ff399bcc6 100644 --- a/gruel/src/python/run_tests.in +++ b/gruel/src/python/run_tests.in @@ -12,6 +12,6 @@ export DYLD_LIBRARY_PATH PATH=@abs_top_builddir@/gruel/:@abs_top_builddir@/gruel/.libs:$PATH @top_builddir@/run_tests.sh \ - @abs_top_srcdir@/gruel \ - @abs_top_builddir@/gruel \ + @abs_top_srcdir@/gruel/src \ + @abs_top_builddir@/gruel/src \ @srcdir@ -- cgit From 1d70ed2bd928d52a383e688949cc7f747dd584fa Mon Sep 17 00:00:00 2001 From: Johnathan Corgan Date: Tue, 15 Mar 2011 21:04:24 -0700 Subject: gruel: added missing ignores --- gruel/src/python/.gitignore | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 gruel/src/python/.gitignore (limited to 'gruel/src/python') diff --git a/gruel/src/python/.gitignore b/gruel/src/python/.gitignore new file mode 100644 index 000000000..b336cc7ce --- /dev/null +++ b/gruel/src/python/.gitignore @@ -0,0 +1,2 @@ +/Makefile +/Makefile.in -- cgit