summaryrefslogtreecommitdiff
path: root/src/unittest
diff options
context:
space:
mode:
Diffstat (limited to 'src/unittest')
-rw-r--r--src/unittest/SConscript3
-rw-r--r--src/unittest/stattest.cc32
-rw-r--r--src/unittest/stattest.i36
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();
-%}