Skip to content

TimeframeReader and TimeframeWriter devices#370

Merged
ktf merged 1 commit intoAliceO2Group:devfrom
ktf:dev-timeframe-io-devices
May 23, 2017
Merged

TimeframeReader and TimeframeWriter devices#370
ktf merged 1 commit intoAliceO2Group:devfrom
ktf:dev-timeframe-io-devices

Conversation

@ktf
Copy link
Copy Markdown
Member

@ktf ktf commented May 9, 2017

Initial commit. Does not work yet, albeit it should compile.

@ktf ktf force-pushed the dev-timeframe-io-devices branch 2 times, most recently from 6baf5a3 to fedab19 Compare May 9, 2017 15:36
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mkrzewic @matthiasrichter Do we have a better way of doing what I do below?

Copy link
Copy Markdown
Contributor

@mkrzewic mkrzewic May 9, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if you mean setting the size: the default ctor does that for you - essentially all the members inherited from BaseHeader are set by the default ctor - they should not be touched by user code. Although since this is test code we might want to explicitly check if they are set correctly.
That being said, probably here you want to construct the header in place in the buffer you allocated.
Now the actual interface to construct buffers that hold metadata is the Stack class which packs a buffer with all the headers you might want to have in the header stack - it is a move only type so it plays nice with the transport layer (especially with the AddMessage(...) method in O2Device class). I need to clean this up a bit and finish separating the public and private interfaces - e.g. we should not initialize the description member with an arbitrary string - this is in the works.

example of how it was meant to be used is in Utilities/O2MessageMonitor.cxx

so in a test you could do something like:
DataHeader dataHeader;
dataHeader = gDataOriginAny; //set origin
dataHeader = gDataDescriptionInfo; //set data description
dataHeader = gSerializationMethodNone; //set serialization method for the payload

o2::Header::Stack headerStack{dataHeader};

byte* buffer = headerStack.data();
size_t size = headerStack.size();

//check the metadata buffer byte by byte somehow....

Copy link
Copy Markdown
Collaborator

@matthiasrichter matthiasrichter left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice! I can compile it and I also ran the test program. It's name should probably be testTimeframeParser.cxx to follow the naming conventions. A few minor comments inline.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can be dh == Header::DataDescription("TIMEFRAMEINDEX");

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, will fix.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To support the continuous processing, we probably need to write one file per timeframe, with some configurable logic to create a file name from the time frame meta data or a simple enumeration.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I am preparing something which generates a dummy timeframe without having to have to set up the whole chain, to use with the tests, but then I can extend the actual devices a bit. Actually I was thinking we might want to have different split logics, e.g.:

  • one timeframe
  • as many timeframes as they fit in N GBs

I was thinking also that the reader could use inotify or similar mechanism to read files as they get written to a given directory. Anyways, maybe we should spell out the actual user stories we want to support.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

indexHeader == Header::DataDescription("TIMEFRAMEINDEX")

@ktf ktf force-pushed the dev-timeframe-io-devices branch from 32d62a7 to c0fe7dc Compare May 11, 2017 12:15
@ktf
Copy link
Copy Markdown
Member Author

ktf commented May 11, 2017

Updated. It now provides an helper to create fake timeframes programmatically, to use them in the tests. This requires:
lookupDataDescription,lookupDataOrigin as provided or a similar mechanism, as discussed #372.

@ktf ktf force-pushed the dev-timeframe-io-devices branch 5 times, most recently from efdfdc4 to d015ec3 Compare May 18, 2017 12:11
Copy link
Copy Markdown
Collaborator

@matthiasrichter matthiasrichter left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would set the two 'invalid' descriptors simply to 0, and not any string equivalent.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would use 'void' instead of 'invalid' in the name, this can probably be changed later, but in any case simply set it to 0

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I disagree. If I then printfs something which includes gDataOriginInvalid, the string will be truncated or empty. That's actually why I changed it (I was debugging things and the message looked ok when I realised something was not getting printed).

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok, fair enough. 'INV' looks so ugly, 'VOID' would be nicer but then there is no terminating 0.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NUL\0?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

keeping in mind what we always said about null termination here - I like it less and less... Maybe it would qualify for a rediscussion?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

BAD\0 ?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FFF\0?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

then also for the longer ones: FFFFFFF\0 etc... to be consistent with the invalid hex values of 0xFFFFFFFF...

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NIL\0?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Spinning this off in #388.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same here, the invalid/void descriptor should simply be 0

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can this be removed?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is currently required to avoid that including SubframeMetadata.h requires including vector before it. What we really should do is to clean up SubframeMetadata.h and remove the various TPCTestCluster and ITSRawData classes which we are currently using to mockup the timeframe.

@alibuild
Copy link
Copy Markdown
Collaborator

Error while checking build/O2/o2 for 7ddc18ee719cbc4157379600bc1fcdac2328a9f7:

sw/BUILD/O2-latest/log
+ '[' /mnt/mesos/sandbox/sandbox/O2 '!=' /mnt/mesos/sandbox/sandbox/sw/SOURCES/O2/dev/0 ']'
+ perl -p -i -e 's|/mnt/mesos/sandbox/sandbox/sw/SOURCES/O2/dev/0|/mnt/mesos/sandbox/sandbox/O2|' compile_commands.json
+ ln -sf /mnt/mesos/sandbox/sandbox/sw/BUILD/c814e78a67cf4e92a76e48b3e33b06e4d4eade7d/O2/compile_commands.json /mnt/mesos/sandbox/sandbox/O2/compile_commands.json
+ [[ -n 1 ]]
+ make test
Running tests...
Test project /mnt/mesos/sandbox/sandbox/sw/BUILD/c814e78a67cf4e92a76e48b3e33b06e4d4eade7d/O2
      Start  1: testMessageList
 1/17 Test  #1: testMessageList ..................   Passed    0.00 sec
      Start  2: testDataHeader
 2/17 Test  #2: testDataHeader ...................   Passed    0.56 sec
      Start  3: testTimeStamp
 3/17 Test  #3: testTimeStamp ....................   Passed    0.54 sec
      Start  4: testBasicHits
 4/17 Test  #4: testBasicHits ....................   Passed    0.49 sec
      Start  5: TimeFrameTest
 5/17 Test  #5: TimeFrameTest ....................   Passed    0.49 sec
      Start  6: testTPCBase
 6/17 Test  #6: testTPCBase ......................   Passed    0.39 sec
      Start  7: testTPCCalDet
 7/17 Test  #7: testTPCCalDet ....................   Passed    0.93 sec
      Start  8: testTPCMapper
 8/17 Test  #8: testTPCMapper ....................   Passed    0.55 sec
      Start  9: testTPCSyncPatternMonitor
 9/17 Test  #9: testTPCSyncPatternMonitor ........   Passed    0.51 sec
      Start 10: testTPCAdcClockMonitor
10/17 Test #10: testTPCAdcClockMonitor ...........   Passed    0.60 sec
      Start 11: testTPCElectronTransport
11/17 Test #11: testTPCElectronTransport .........   Passed    0.68 sec
      Start 12: testTPCGEMAmplification
12/17 Test #12: testTPCGEMAmplification ..........   Passed   25.73 sec
      Start 13: testTPCSimulation
13/17 Test #13: testTPCSimulation ................   Passed    0.44 sec
      Start 14: testExampleModule1
14/17 Test #14: testExampleModule1 ...............   Passed    0.01 sec
      Start 15: testMessageFormat
15/17 Test #15: testMessageFormat ................***Failed    0.80 sec
      Start 16: O2MessageMonitorTest
16/17 Test #16: O2MessageMonitorTest .............   Passed    0.42 sec
      Start 17: test_TimeframeParser
17/17 Test #17: test_TimeframeParser .............   Passed    0.42 sec

94% tests passed, 1 tests failed out of 17

Total Test time (real) =  33.60 sec

The following tests FAILED:
	 15 - testMessageFormat (Failed)
Errors while running CTest

Full log here.

@ktf ktf force-pushed the dev-timeframe-io-devices branch from 7ddc18e to 23a5f15 Compare May 22, 2017 09:59
@ktf ktf changed the title [WIP] TimeframeReader and TimeframeWriter devices TimeframeReader and TimeframeWriter devices May 22, 2017
@alibuild
Copy link
Copy Markdown
Collaborator

Error while checking build/O2/o2 for 23a5f15e20944260fc572ae7435ddc962749cf67:

sw/BUILD/O2-latest/log
+ '[' /mnt/mesos/sandbox/sandbox/O2 '!=' /mnt/mesos/sandbox/sandbox/sw/SOURCES/O2/dev/0 ']'
+ perl -p -i -e 's|/mnt/mesos/sandbox/sandbox/sw/SOURCES/O2/dev/0|/mnt/mesos/sandbox/sandbox/O2|' compile_commands.json
+ ln -sf /mnt/mesos/sandbox/sandbox/sw/BUILD/c814e78a67cf4e92a76e48b3e33b06e4d4eade7d/O2/compile_commands.json /mnt/mesos/sandbox/sandbox/O2/compile_commands.json
+ [[ -n 1 ]]
+ make test
Running tests...
Test project /mnt/mesos/sandbox/sandbox/sw/BUILD/c814e78a67cf4e92a76e48b3e33b06e4d4eade7d/O2
      Start  1: testMessageList
 1/17 Test  #1: testMessageList ..................   Passed    0.00 sec
      Start  2: testDataHeader
 2/17 Test  #2: testDataHeader ...................   Passed    0.45 sec
      Start  3: testTimeStamp
 3/17 Test  #3: testTimeStamp ....................   Passed    0.55 sec
      Start  4: testBasicHits
 4/17 Test  #4: testBasicHits ....................   Passed    0.61 sec
      Start  5: TimeFrameTest
 5/17 Test  #5: TimeFrameTest ....................   Passed    0.55 sec
      Start  6: testTPCBase
 6/17 Test  #6: testTPCBase ......................   Passed    0.47 sec
      Start  7: testTPCCalDet
 7/17 Test  #7: testTPCCalDet ....................   Passed    0.86 sec
      Start  8: testTPCMapper
 8/17 Test  #8: testTPCMapper ....................   Passed    0.47 sec
      Start  9: testTPCSyncPatternMonitor
 9/17 Test  #9: testTPCSyncPatternMonitor ........   Passed    0.53 sec
      Start 10: testTPCAdcClockMonitor
10/17 Test #10: testTPCAdcClockMonitor ...........   Passed    0.58 sec
      Start 11: testTPCElectronTransport
11/17 Test #11: testTPCElectronTransport .........   Passed    0.70 sec
      Start 12: testTPCGEMAmplification
12/17 Test #12: testTPCGEMAmplification ..........   Passed   25.58 sec
      Start 13: testTPCSimulation
13/17 Test #13: testTPCSimulation ................   Passed    0.73 sec
      Start 14: testExampleModule1
14/17 Test #14: testExampleModule1 ...............   Passed    0.01 sec
      Start 15: testMessageFormat
15/17 Test #15: testMessageFormat ................***Failed    0.86 sec
      Start 16: O2MessageMonitorTest
16/17 Test #16: O2MessageMonitorTest .............   Passed    0.89 sec
      Start 17: test_TimeframeParser
17/17 Test #17: test_TimeframeParser .............   Passed    0.84 sec

94% tests passed, 1 tests failed out of 17

Total Test time (real) =  34.69 sec

The following tests FAILED:
	 15 - testMessageFormat (Failed)
Errors while running CTest

Full log here.

@ktf
Copy link
Copy Markdown
Member Author

ktf commented May 22, 2017

@matthiasrichter anything else to do before the we merge this? In the end it's quite orthogonal.

Copy link
Copy Markdown
Collaborator

@matthiasrichter matthiasrichter left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ktf I have added a few questions between the lines

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this should be removed

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agree. We really need to have way to build only tests and related libraries in debug mode, though. @dberzano any ideas regarding this?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hm it is not clear to me what you want to do. Do you want to compile tests only with the debug options (-O0 -g), independently from the global ones?

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

does this buffer need to be deleted? should fakeTimeframeGenerator return a unique_ptr?

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm puzzled here. It should be

    if ((tpcHeader->dataDescription != o2::Header::DataDescription("CLUSTERS")) ||
        (tpcHeader->dataOrigin != o2::Header::DataOrigin("TPC")))

or the corresponding definitions. But how does it compile at all when using the const char strings? Neither DataDescription nor DataOrigin (aka Descriptor<4>) does define an operator==(const char*)

Looks like such operators need to be forbidden explicitly, I did a quick test.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same here

    if ((itsHeader->dataDescription != o2::Header::DataDescription("CLUSTERS"))
        || (itsHeader->dataOrigin != o2::Header::DataOrigin("ITS")))

@ktf
Copy link
Copy Markdown
Member Author

ktf commented May 22, 2017 via email

@ktf ktf force-pushed the dev-timeframe-io-devices branch from 23a5f15 to 626c5d5 Compare May 22, 2017 14:25
@alibuild
Copy link
Copy Markdown
Collaborator

Error while checking build/O2/o2 for 626c5d57c75104185144dc8daf9c6aef27b020ee:

sw/BUILD/O2-latest/log
+ '[' /mnt/mesos/sandbox/sandbox/O2 '!=' /mnt/mesos/sandbox/sandbox/sw/SOURCES/O2/dev/0 ']'
+ perl -p -i -e 's|/mnt/mesos/sandbox/sandbox/sw/SOURCES/O2/dev/0|/mnt/mesos/sandbox/sandbox/O2|' compile_commands.json
+ ln -sf /mnt/mesos/sandbox/sandbox/sw/BUILD/c814e78a67cf4e92a76e48b3e33b06e4d4eade7d/O2/compile_commands.json /mnt/mesos/sandbox/sandbox/O2/compile_commands.json
+ [[ -n 1 ]]
+ make test
Running tests...
Test project /mnt/mesos/sandbox/sandbox/sw/BUILD/c814e78a67cf4e92a76e48b3e33b06e4d4eade7d/O2
      Start  1: testMessageList
 1/17 Test  #1: testMessageList ..................   Passed    0.00 sec
      Start  2: testDataHeader
 2/17 Test  #2: testDataHeader ...................   Passed    0.47 sec
      Start  3: testTimeStamp
 3/17 Test  #3: testTimeStamp ....................   Passed    0.46 sec
      Start  4: testBasicHits
 4/17 Test  #4: testBasicHits ....................   Passed    0.59 sec
      Start  5: TimeFrameTest
 5/17 Test  #5: TimeFrameTest ....................   Passed    0.57 sec
      Start  6: testTPCBase
 6/17 Test  #6: testTPCBase ......................   Passed    0.48 sec
      Start  7: testTPCCalDet
 7/17 Test  #7: testTPCCalDet ....................   Passed    0.88 sec
      Start  8: testTPCMapper
 8/17 Test  #8: testTPCMapper ....................   Passed    0.52 sec
      Start  9: testTPCSyncPatternMonitor
 9/17 Test  #9: testTPCSyncPatternMonitor ........   Passed    0.54 sec
      Start 10: testTPCAdcClockMonitor
10/17 Test #10: testTPCAdcClockMonitor ...........   Passed    0.50 sec
      Start 11: testTPCElectronTransport
11/17 Test #11: testTPCElectronTransport .........   Passed    0.82 sec
      Start 12: testTPCGEMAmplification
12/17 Test #12: testTPCGEMAmplification ..........   Passed   26.00 sec
      Start 13: testTPCSimulation
13/17 Test #13: testTPCSimulation ................   Passed    0.48 sec
      Start 14: testExampleModule1
14/17 Test #14: testExampleModule1 ...............   Passed    0.01 sec
      Start 15: testMessageFormat
15/17 Test #15: testMessageFormat ................***Failed    0.94 sec
      Start 16: O2MessageMonitorTest
16/17 Test #16: O2MessageMonitorTest .............   Passed    0.70 sec
      Start 17: test_TimeframeParser
17/17 Test #17: test_TimeframeParser .............   Passed    0.71 sec

94% tests passed, 1 tests failed out of 17

Total Test time (real) =  34.70 sec

The following tests FAILED:
	 15 - testMessageFormat (Failed)
Errors while running CTest

Full log here.

@ktf ktf force-pushed the dev-timeframe-io-devices branch from 626c5d5 to 6f95cbf Compare May 22, 2017 14:29
@alibuild
Copy link
Copy Markdown
Collaborator

Error while checking build/O2/o2 for 6f95cbf7881c1f28ba35475724d7e5bac0ec9d26:

sw/BUILD/O2-latest/log
+ '[' /mnt/mesos/sandbox/sandbox/O2 '!=' /mnt/mesos/sandbox/sandbox/sw/SOURCES/O2/dev/0 ']'
+ perl -p -i -e 's|/mnt/mesos/sandbox/sandbox/sw/SOURCES/O2/dev/0|/mnt/mesos/sandbox/sandbox/O2|' compile_commands.json
+ ln -sf /mnt/mesos/sandbox/sandbox/sw/BUILD/c814e78a67cf4e92a76e48b3e33b06e4d4eade7d/O2/compile_commands.json /mnt/mesos/sandbox/sandbox/O2/compile_commands.json
+ [[ -n 1 ]]
+ make test
Running tests...
Test project /mnt/mesos/sandbox/sandbox/sw/BUILD/c814e78a67cf4e92a76e48b3e33b06e4d4eade7d/O2
      Start  1: testMessageList
 1/17 Test  #1: testMessageList ..................   Passed    0.01 sec
      Start  2: testDataHeader
 2/17 Test  #2: testDataHeader ...................   Passed    1.06 sec
      Start  3: testTimeStamp
 3/17 Test  #3: testTimeStamp ....................   Passed    0.79 sec
      Start  4: testBasicHits
 4/17 Test  #4: testBasicHits ....................   Passed    0.85 sec
      Start  5: TimeFrameTest
 5/17 Test  #5: TimeFrameTest ....................   Passed    1.01 sec
      Start  6: testTPCBase
 6/17 Test  #6: testTPCBase ......................   Passed    0.79 sec
      Start  7: testTPCCalDet
 7/17 Test  #7: testTPCCalDet ....................   Passed    1.10 sec
      Start  8: testTPCMapper
 8/17 Test  #8: testTPCMapper ....................   Passed    0.78 sec
      Start  9: testTPCSyncPatternMonitor
 9/17 Test  #9: testTPCSyncPatternMonitor ........   Passed    1.12 sec
      Start 10: testTPCAdcClockMonitor
10/17 Test #10: testTPCAdcClockMonitor ...........   Passed    0.95 sec
      Start 11: testTPCElectronTransport
11/17 Test #11: testTPCElectronTransport .........   Passed    0.98 sec
      Start 12: testTPCGEMAmplification
12/17 Test #12: testTPCGEMAmplification ..........   Passed   28.43 sec
      Start 13: testTPCSimulation
13/17 Test #13: testTPCSimulation ................   Passed    0.56 sec
      Start 14: testExampleModule1
14/17 Test #14: testExampleModule1 ...............   Passed    0.01 sec
      Start 15: testMessageFormat
15/17 Test #15: testMessageFormat ................***Failed    0.64 sec
      Start 16: O2MessageMonitorTest
16/17 Test #16: O2MessageMonitorTest .............   Passed    0.56 sec
      Start 17: test_TimeframeParser
17/17 Test #17: test_TimeframeParser .............   Passed    0.67 sec

94% tests passed, 1 tests failed out of 17

Total Test time (real) =  40.34 sec

The following tests FAILED:
	 15 - testMessageFormat (Failed)
Errors while running CTest

Full log here.

@dberzano
Copy link
Copy Markdown
Contributor

@ktf I have added an item to the WP3 todo list - to me it does not look so straightforward to implement this exact functionality with CMake.

Initial attempt at TimeframeReader and TimeframeWriter devices.

This includes:

- Initial plumbing for the devices themselves.
- TimeframeParser helper class can be used to read data from an
std:istream and create FairMQParts from it.
- The test_TimeframeParser example generates a dummy timeframe and
pumps it through the TimeframeParser.
- FakeTimeframeGeneratorDevice, which can be used to generate timeframes
  programmatically.
- TimeframeValidationTool which can be used to verify the contents of a timeframe file.
@ktf ktf force-pushed the dev-timeframe-io-devices branch from 6f95cbf to ada282f Compare May 23, 2017 13:01
@alibuild
Copy link
Copy Markdown
Collaborator

Error while checking build/O2/o2 for ada282f:

sw/BUILD/O2-latest/log
+ '[' /mnt/mesos/sandbox/sandbox/O2 '!=' /mnt/mesos/sandbox/sandbox/sw/SOURCES/O2/dev/0 ']'
+ perl -p -i -e 's|/mnt/mesos/sandbox/sandbox/sw/SOURCES/O2/dev/0|/mnt/mesos/sandbox/sandbox/O2|' compile_commands.json
+ ln -sf /mnt/mesos/sandbox/sandbox/sw/BUILD/c814e78a67cf4e92a76e48b3e33b06e4d4eade7d/O2/compile_commands.json /mnt/mesos/sandbox/sandbox/O2/compile_commands.json
+ [[ -n 1 ]]
+ make test
Running tests...
Test project /mnt/mesos/sandbox/sandbox/sw/BUILD/c814e78a67cf4e92a76e48b3e33b06e4d4eade7d/O2
      Start  1: testMessageList
 1/17 Test  #1: testMessageList ..................   Passed    0.00 sec
      Start  2: testDataHeader
 2/17 Test  #2: testDataHeader ...................   Passed    0.69 sec
      Start  3: testTimeStamp
 3/17 Test  #3: testTimeStamp ....................   Passed    0.79 sec
      Start  4: testBasicHits
 4/17 Test  #4: testBasicHits ....................   Passed    0.91 sec
      Start  5: TimeFrameTest
 5/17 Test  #5: TimeFrameTest ....................   Passed    0.99 sec
      Start  6: testTPCBase
 6/17 Test  #6: testTPCBase ......................   Passed    0.69 sec
      Start  7: testTPCCalDet
 7/17 Test  #7: testTPCCalDet ....................   Passed    0.85 sec
      Start  8: testTPCMapper
 8/17 Test  #8: testTPCMapper ....................   Passed    0.75 sec
      Start  9: testTPCSyncPatternMonitor
 9/17 Test  #9: testTPCSyncPatternMonitor ........   Passed    0.73 sec
      Start 10: testTPCAdcClockMonitor
10/17 Test #10: testTPCAdcClockMonitor ...........   Passed    0.53 sec
      Start 11: testTPCElectronTransport
11/17 Test #11: testTPCElectronTransport .........   Passed    0.85 sec
      Start 12: testTPCGEMAmplification
12/17 Test #12: testTPCGEMAmplification ..........   Passed   31.73 sec
      Start 13: testTPCSimulation
13/17 Test #13: testTPCSimulation ................   Passed    0.61 sec
      Start 14: testExampleModule1
14/17 Test #14: testExampleModule1 ...............   Passed    0.02 sec
      Start 15: testMessageFormat
15/17 Test #15: testMessageFormat ................***Failed    0.72 sec
      Start 16: O2MessageMonitorTest
16/17 Test #16: O2MessageMonitorTest .............   Passed    0.59 sec
      Start 17: test_TimeframeParser
17/17 Test #17: test_TimeframeParser .............   Passed    0.49 sec

94% tests passed, 1 tests failed out of 17

Total Test time (real) =  41.97 sec

The following tests FAILED:
	 15 - testMessageFormat (Failed)
Errors while running CTest

Full log here.

@ktf ktf merged commit cee8012 into AliceO2Group:dev May 23, 2017
@ktf ktf deleted the dev-timeframe-io-devices branch May 23, 2017 13:52
knopers8 pushed a commit to knopers8/AliceO2 that referenced this pull request Sep 7, 2020
…#370)

* Following feedback from HMPID

* changing the name of task in 2 places

* load readout environment

* proper url to files

* fix path QC-313

* addresses Piotr's comments
mbroz84 pushed a commit to mbroz84/AliceO2 that referenced this pull request Mar 16, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

5 participants