Simple test system started. To test it just run the following:
cd tests
perl start.pl
Then wait until you hopefully see the result of the first test!
This commit is contained in:
9
DRAMSys/tests/simple/expected.txt
Normal file
9
DRAMSys/tests/simple/expected.txt
Normal file
@@ -0,0 +1,9 @@
|
||||
Info: /OSCI/SystemC: Simulation stopped by user.
|
||||
sim.dram0 Total Energy: 4322095.399584
|
||||
sim.dram0 Average Power: 12.680122
|
||||
sim.dram1 Total Energy: 2157481.552032
|
||||
sim.dram1 Average Power: 6.404758
|
||||
sim.dram2 Total Energy: 3293520.001632
|
||||
sim.dram2 Average Power: 9.667110
|
||||
sim.dram3 Total Energy: 2216673.062784
|
||||
sim.dram3 Average Power: 6.580476A
|
||||
56
DRAMSys/tests/simple/test.pl
Normal file
56
DRAMSys/tests/simple/test.pl
Normal file
@@ -0,0 +1,56 @@
|
||||
#!/usr/bin/perl -w
|
||||
# Copyright (c) 2015, University of Kaiserslautern
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are
|
||||
# met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice,
|
||||
# this list of conditions and the following disclaimer.
|
||||
#
|
||||
# 2. 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.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder 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 HOLDER
|
||||
# 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:
|
||||
# Matthias Jung
|
||||
#
|
||||
|
||||
# Test Simple:
|
||||
# This test runs the simulation with standard configuration
|
||||
|
||||
use File::Compare;
|
||||
|
||||
# Run Simulation:
|
||||
chdir("../../../build/simulator/");
|
||||
`./dramSys > ../../DRAMSys/tests/simple/output.txt`;
|
||||
|
||||
chdir("../../DRAMSys/tests/simple");
|
||||
|
||||
`cat output.txt | tail -n 9 > current.txt`;
|
||||
|
||||
if(compare("current.txt","expected.txt") == 0)
|
||||
{
|
||||
exit 0
|
||||
}
|
||||
else
|
||||
{
|
||||
exit -1
|
||||
}
|
||||
100
DRAMSys/tests/start.pl
Normal file
100
DRAMSys/tests/start.pl
Normal file
@@ -0,0 +1,100 @@
|
||||
#!/usr/bin/perl -w
|
||||
# Copyright (c) 2015, University of Kaiserslautern
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are
|
||||
# met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice,
|
||||
# this list of conditions and the following disclaimer.
|
||||
#
|
||||
# 2. 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.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder 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 HOLDER
|
||||
# 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:
|
||||
# Matthias Jung
|
||||
#
|
||||
|
||||
use warnings;
|
||||
use strict;
|
||||
use Term::ANSIColor;
|
||||
|
||||
print color("red")," |||\n";
|
||||
print color("red")," +---+ Microelectronic Systems\n";
|
||||
print color("red"),"=| |= Design Research Group\n";
|
||||
print color("red"),"=| |= ", color("blue"),"University of Kaiserslautern\n";
|
||||
print color("red")," +---+\n";
|
||||
print color("red")," ||| ", color("green"),"DRAMSys Automated Test System\n", color("reset");
|
||||
|
||||
# Get number of Cores:
|
||||
my $numberOfCores = `cat /proc/cpuinfo | grep processor | wc -l`;
|
||||
|
||||
# Navigate to Build Folder
|
||||
chdir("../../");
|
||||
`mkdir build >/dev/null 2>&1`;
|
||||
chdir("build/");
|
||||
|
||||
# Build the Project:
|
||||
print color("reset"),"\nBuild Project\t";
|
||||
`qmake ../DRAMSys/dram.vp.system.pro >/dev/null 2>&1`;
|
||||
`make -j$numberOfCores >/dev/null 2>&1`;
|
||||
|
||||
# Check if Build was sucessful:
|
||||
if( -e "./simulator/dramSys" )
|
||||
{
|
||||
print color("reset"),"[ ", color("green"), "done", color("reset"), " ]\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
print color("reset"),"[ ", color("red"), "fail", color("reset"), " ]\n";
|
||||
exit -1;
|
||||
}
|
||||
|
||||
# Find all tests:
|
||||
# Navigate to Build Folder
|
||||
chdir("../DRAMSys/tests");
|
||||
my @tests = split(/\n/,`find -iname test.pl`);
|
||||
|
||||
# Run Tests:
|
||||
foreach(@tests)
|
||||
{
|
||||
if($_ =~ /\.\/([\w\d]+)\/test\.pl/)
|
||||
{
|
||||
my $name = $1;
|
||||
chdir("./$name");
|
||||
print color("reset"),"Test: ".$name."\t";
|
||||
`perl test.pl`;
|
||||
|
||||
if( $? == 0 )
|
||||
{
|
||||
print color("reset"),"[ ", color("green"), "done", color("reset"), " ]\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
print color("reset"),"[ ", color("red"), "fail", color("reset"), " ]\n";
|
||||
}
|
||||
chdir("../");
|
||||
}
|
||||
else
|
||||
{
|
||||
exit -1;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user