X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=lttv%2Flttv%2Fsync%2Fsync_chain_unittest.c;h=50c9f395526cbb75fed31abf71679ed921bb2dba;hb=9c7696b8589e76aed870b15cabd09a162d468621;hp=9b4b869c7f32bac3b622ac71a115e05050b7aaee;hpb=48b641c1f6320eca569b2894f253d9d815250d45;p=lttv.git diff --git a/lttv/lttv/sync/sync_chain_unittest.c b/lttv/lttv/sync/sync_chain_unittest.c index 9b4b869c..50c9f395 100644 --- a/lttv/lttv/sync/sync_chain_unittest.c +++ b/lttv/lttv/sync/sync_chain_unittest.c @@ -1,19 +1,18 @@ /* This file is part of the Linux Trace Toolkit viewer - * Copyright (C) 2009 Benjamin Poirier + * Copyright (C) 2009, 2010 Benjamin Poirier * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License Version 2 as - * published by the Free Software Foundation; + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 2.1 of the License, or (at + * your option) any later version. * - * This program 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. + * This program 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 Lesser General Public + * License for more details. * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. + * You should have received a copy of the GNU Lesser General Public License + * along with this program. If not, see . */ #define _GNU_SOURCE @@ -35,6 +34,13 @@ #include #include +#include "event_processing_text.h" +#include "event_matching_tcp.h" +#include "event_matching_broadcast.h" +#include "event_matching_distributor.h" +#include "event_analysis_chull.h" +#include "event_analysis_linreg.h" +#include "event_analysis_eval.h" #include "sync_chain.h" @@ -98,6 +104,25 @@ int main(const int argc, char* const argv[]) bool stats; const char* testCaseName; GString* analysisModulesNames; + unsigned int id; + GArray* factors; + + /* + * Initialize event modules + * Call the "constructor" or initialization function of each event module + * so it can register itself. This must be done before elements in + * processingModules, matchingModules, analysisModules or moduleOptions + * are accessed. + */ + registerProcessingText(); + + registerMatchingTCP(); + registerMatchingBroadcast(); + registerMatchingDistributor(); + + registerAnalysisCHull(); + registerAnalysisLinReg(); + registerAnalysisEval(); // Initialize data structures syncState= malloc(sizeof(SyncState)); @@ -137,7 +162,7 @@ int main(const int argc, char* const argv[]) else { syncState->stats= false; - g_log_set_handler(NULL, G_LOG_LEVEL_DEBUG, nullLog, NULL); + id= g_log_set_handler(NULL, G_LOG_LEVEL_DEBUG, nullLog, NULL); } if (optionSyncGraphs.present) @@ -183,7 +208,8 @@ int main(const int argc, char* const argv[]) syncState->analysisModule->initAnalysis(syncState); // Process traceset - syncState->processingModule->finalizeProcessing(syncState); + factors= syncState->processingModule->finalizeProcessing(syncState); + g_array_free(factors, TRUE); // Write graphs file if (syncState->graphsStream) @@ -227,6 +253,11 @@ int main(const int argc, char* const argv[]) endUsage.ru_stime.tv_usec); } + if (!optionSyncStats.present) + { + g_log_remove_handler(NULL, id); + } + return EXIT_SUCCESS; }