diff options
Diffstat (limited to 'src/unittest')
-rw-r--r-- | src/unittest/SConscript | 3 | ||||
-rw-r--r-- | src/unittest/stattest.cc | 32 | ||||
-rw-r--r-- | src/unittest/stattest.i | 36 |
3 files changed, 19 insertions, 52 deletions
diff --git a/src/unittest/SConscript b/src/unittest/SConscript index 2737be8f5..1f723ed2a 100644 --- a/src/unittest/SConscript +++ b/src/unittest/SConscript @@ -46,8 +46,7 @@ UnitTest('strnumtest', 'strnumtest.cc') UnitTest('trietest', 'trietest.cc') stattest_py = PySource('m5', 'stattestmain.py', skip_lib=True) -stattest_swig = SwigSource('_m5', 'stattest.i', skip_lib=True) -UnitTest('stattest', 'stattest.cc', stattest_py, stattest_swig, main=True) +UnitTest('stattest', 'stattest.cc', stattest_py, main=True) UnitTest('symtest', 'symtest.cc') UnitTest('tokentest', 'tokentest.cc') diff --git a/src/unittest/stattest.cc b/src/unittest/stattest.cc index 20f2fd548..e3722204b 100644 --- a/src/unittest/stattest.cc +++ b/src/unittest/stattest.cc @@ -28,6 +28,8 @@ * Authors: Nathan Binkert */ +#include "pybind11/pybind11.h" + #include <iomanip> #include <iostream> #include <string> @@ -37,8 +39,11 @@ #include "base/statistics.hh" #include "base/types.hh" #include "sim/core.hh" +#include "sim/init.hh" #include "sim/stat_control.hh" +namespace py = pybind11; + // override the default main() code for this unittest const char *m5MainCommands[] = { "import m5.stattestmain", @@ -52,8 +57,6 @@ using namespace Stats; double testfunc(); struct StatTest; StatTest & __stattest(); -void stattest_init(); -void stattest_run(); double @@ -123,18 +126,6 @@ __stattest() } void -stattest_init() -{ - __stattest().init(); -} - -void -stattest_run() -{ - __stattest().run(); -} - -void StatTest::init() { EventQueue *q = getEventQueue(0); @@ -680,3 +671,16 @@ StatTest::run() s20[1] = 1; } + +static void +stattest_init_pybind(py::module &m_internal) +{ + py::module m = m_internal.def_submodule("stattest"); + + m + .def("stattest_init", []() { __stattest().init(); }) + .def("stattest_run", []() { __stattest().run(); }) + ; +} + +static EmbeddedPyBind embed_("stattest", stattest_init_pybind); diff --git a/src/unittest/stattest.i b/src/unittest/stattest.i deleted file mode 100644 index 66990689f..000000000 --- a/src/unittest/stattest.i +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright (c) 2010 The Hewlett-Packard Development Company - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer; - * redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution; - * neither the name of the copyright holders nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Authors: Nathan Binkert - */ - -%module(package="_m5") stattest - -%inline %{ -extern void stattest_init(); -extern void stattest_run(); -%} |