X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=lttv%2Flttv%2Fsync%2Fsync_chain_unittest.c;h=652c379752e71ed05b13e635c212c24688a01576;hb=0a87ec9a018cc9731ce3b04309eaa4dcc77df6d2;hp=79b3b58fd764b401303dfe3aefab8b0538bba32f;hpb=2f961b65e3422f23019286e9531b0a40070278ea;p=lttv.git diff --git a/lttv/lttv/sync/sync_chain_unittest.c b/lttv/lttv/sync/sync_chain_unittest.c index 79b3b58f..652c3797 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 @@ -101,11 +100,13 @@ int main(const int argc, char* const argv[]) struct timeval startTime, endTime; struct rusage startUsage, endUsage; GList* result; + GArray* factors; int retval; bool stats; const char* testCaseName; GString* analysisModulesNames; unsigned int id; + AllFactors* allFactors; /* * Initialize event modules @@ -208,7 +209,9 @@ int main(const int argc, char* const argv[]) syncState->analysisModule->initAnalysis(syncState); // Process traceset - syncState->processingModule->finalizeProcessing(syncState); + allFactors= syncState->processingModule->finalizeProcessing(syncState); + factors= reduceFactors(allFactors); + freeAllFactors(allFactors); // Write graphs file if (syncState->graphsStream) @@ -222,9 +225,19 @@ int main(const int argc, char* const argv[]) } // Print statistics - if (syncState->stats) + if (optionSyncStats.present) { + unsigned int i; + printStats(syncState); + + printf("Resulting synchronization factors:\n"); + for (i= 0; i < factors->len; i++) + { + Factors* traceFactors= &g_array_index(factors, Factors, i); + printf("\ttrace %u drift= %g offset= %g\n", i, + traceFactors->drift, traceFactors->offset); + } } // Destroy modules and clean up @@ -262,7 +275,7 @@ int main(const int argc, char* const argv[]) /* - * Read program arguments dans update ModuleOptions structures + * Read program arguments and update ModuleOptions structures * * Args: * argc, argv: standard argument arrays