summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHanoh Haim <hhaim@cisco.com>2015-11-11 16:14:28 +0200
committerHanoh Haim <hhaim@cisco.com>2015-11-11 16:14:28 +0200
commit6294136db42a3327049c67c12eab4684c4abbe47 (patch)
tree192b2a609bdd19aaa7e1818160013c6deafe219f
parentd5361e483d135e60b1b40a05b283cf704697504a (diff)
fix duration for stl tests
-rw-r--r--scripts/exp/stl_single_sctp_pkt-0-ex.erfbin0 -> 880 bytes
-rw-r--r--src/gtest/trex_stateless_gtest.cpp8
-rw-r--r--src/stateless/cp/trex_streams_compiler.cpp4
-rw-r--r--src/stateless/cp/trex_streams_compiler.h8
-rw-r--r--src/stateless/dp/trex_stateless_dp_core.cpp13
-rw-r--r--src/stateless/dp/trex_stateless_dp_core.h4
6 files changed, 24 insertions, 13 deletions
diff --git a/scripts/exp/stl_single_sctp_pkt-0-ex.erf b/scripts/exp/stl_single_sctp_pkt-0-ex.erf
new file mode 100644
index 00000000..5b991b8f
--- /dev/null
+++ b/scripts/exp/stl_single_sctp_pkt-0-ex.erf
Binary files differ
diff --git a/src/gtest/trex_stateless_gtest.cpp b/src/gtest/trex_stateless_gtest.cpp
index 9634d01f..7850e8da 100644
--- a/src/gtest/trex_stateless_gtest.cpp
+++ b/src/gtest/trex_stateless_gtest.cpp
@@ -53,6 +53,7 @@ public:
CBasicStl(){
m_time_diff=0.001;
m_threads=1;
+ m_dump_json=false;
}
bool init(void){
@@ -90,7 +91,6 @@ public:
lpt->start_stateless_daemon_simulation();
- #if 0
lpt->m_node_gen.DumpHist(stdout);
@@ -99,14 +99,12 @@ public:
res=false;
}
-
if ( m_dump_json ){
printf(" dump json ...........\n");
std::string s;
fl.m_threads_info[0]->m_node_gen.dump_json(s);
printf(" %s \n",s.c_str());
}
- #endif
fl.Delete();
return (res);
@@ -156,7 +154,7 @@ TEST_F(basic_stl, limit_single_pkt) {
CBasicStl t1;
CParserOption * po =&CGlobalInfo::m_options;
- po->preview.setVMode(0);
+ po->preview.setVMode(7);
po->preview.setFileWrite(true);
po->out_file ="exp/stl_single_sctp_pkt";
@@ -182,10 +180,12 @@ TEST_F(basic_stl, limit_single_pkt) {
TrexStreamsCompiledObj comp_obj(0,1.0);
+ comp_obj.set_simulation_duration( 10.0);
assert(compile.compile(streams, comp_obj) );
TrexStatelessDpStart * lpstart = new TrexStatelessDpStart( comp_obj.clone() );
+
t1.m_msg = lpstart;
bool res=t1.init();
diff --git a/src/stateless/cp/trex_streams_compiler.cpp b/src/stateless/cp/trex_streams_compiler.cpp
index 8238bac7..7891077b 100644
--- a/src/stateless/cp/trex_streams_compiler.cpp
+++ b/src/stateless/cp/trex_streams_compiler.cpp
@@ -34,6 +34,7 @@ TrexStreamsCompiledObj::~TrexStreamsCompiledObj() {
delete [] obj.m_pkt;
}
m_objs.clear();
+ m_duration_sim=-1.0;
}
void
@@ -67,9 +68,10 @@ TrexStreamsCompiledObj::clone() {
obj.m_pkt_len);
}
- /* fix the multiplier */
new_compiled_obj->m_mul = m_mul;
+ new_compiled_obj->m_duration_sim = m_duration_sim;
+
return new_compiled_obj;
}
diff --git a/src/stateless/cp/trex_streams_compiler.h b/src/stateless/cp/trex_streams_compiler.h
index 404fdd21..d86d16c6 100644
--- a/src/stateless/cp/trex_streams_compiler.h
+++ b/src/stateless/cp/trex_streams_compiler.h
@@ -51,6 +51,13 @@ public:
return m_objs;
}
+ void set_simulation_duration(double duration){
+ m_duration_sim=duration;
+ }
+
+ double get_simulation_duration(){
+ return (m_duration_sim);
+ }
/**
* clone the compiled object
*
@@ -63,6 +70,7 @@ private:
uint8_t m_port_id;
double m_mul;
+ double m_duration_sim; /* duration for all simulation */
};
class TrexStreamsCompiler {
diff --git a/src/stateless/dp/trex_stateless_dp_core.cpp b/src/stateless/dp/trex_stateless_dp_core.cpp
index 480606e8..e1664bd9 100644
--- a/src/stateless/dp/trex_stateless_dp_core.cpp
+++ b/src/stateless/dp/trex_stateless_dp_core.cpp
@@ -109,10 +109,8 @@ TrexStatelessDpCore::start() {
}
void
-TrexStatelessDpCore::add_duration(uint8_t port_id,
- double duration){
+TrexStatelessDpCore::add_duration(double duration){
if (duration > 0.0) {
-
CGenNode *node = m_core->create_node() ;
node->m_type = CGenNode::EXIT_SCHED;
@@ -121,7 +119,6 @@ TrexStatelessDpCore::add_duration(uint8_t port_id,
node->m_time = m_core->m_cur_time_sec + duration ;
m_core->m_node_gen.add_node(node);
-
}
}
@@ -193,8 +190,12 @@ TrexStatelessDpCore::start_traffic(TrexStreamsCompiledObj *obj) {
single_stream.m_pkt_len);
}
- /* TBD need to fix this */
- //add_duration(0,10.0);
+ double duration=obj->get_simulation_duration();
+ printf("duration %f \n",duration);
+
+ if ( duration >0.0){
+ add_duration( duration );
+ }
}
void
diff --git a/src/stateless/dp/trex_stateless_dp_core.h b/src/stateless/dp/trex_stateless_dp_core.h
index a23e81c9..51f882b2 100644
--- a/src/stateless/dp/trex_stateless_dp_core.h
+++ b/src/stateless/dp/trex_stateless_dp_core.h
@@ -131,8 +131,8 @@ private:
*/
void handle_cp_msg(TrexStatelessCpToDpMsgBase *msg);
- void add_duration(uint8_t port_id,
- double duration);
+ /* add global exit */
+ void add_duration(double duration);
void add_cont_stream(uint8_t dir,
double isg,