Bugzilla – Full Text Bug Listing |
Summary: | wifi-wired-bridging regression test fails because of rounding errors in mobility model | ||
---|---|---|---|
Product: | ns-3 | Reporter: | Mathieu Lacage <mathieu.lacage> |
Component: | mobility models | Assignee: | Pavel Boyko <boyko> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | jpelkey, ns-bugs, tomh, watrous |
Priority: | P5 | ||
Version: | pre-release | ||
Hardware: | All | ||
OS: | All |
Description
Mathieu Lacage
2010-08-07 14:52:04 EDT
I removed the .mob trace for now so I could get regressions to pass in order to start rigorous testing of ns-3-dev. changesets: ns-3-dev: http://code.nsnam.org/ns-3-dev/rev/5c11ea507486 ns-3-dev-ref-traces: http://code.nsnam.org/ns-3-dev-ref-traces/rev/d447a2d01164 Bug closed. ns-3-dev changeset: 8009389af158 Well, it wasn't quite "fixed", in that the problem reported originally was not dealt with (that floating-point computations may differ slightly on different platforms)-- not sure how to make this completely portable. What was fixed was as follows: - re-enable the ability to provide ascii-based mobility traces (which had broken somewhere along the way when OutputStreamWrapper code was introduced) -- this necessitated the change to MobilityHelper::EnableAsciiAll in changeset http://code.nsnam.org/ns-3-dev/rev/94215be61edf -- note, due to recent random variable changes, this particular trace does not seem to have the portability problems anymore - provide an example that shows how to generate mobility trace, in the absence of wifi-wired-bridging. This is checked into src/mobility/examples/mobility-trace-example.cc - convert this example also into a regression test. This may or may not fail on multiple platforms; we shall see. Hopefully this particular scenario is safe, and we can regression test the ability to generate these ascii .mob files. - extend the ns-3 test code and macros to perform ascii-based file comparisons, along the lines of what Craig did for pcap-based file comparisons. If this bug shows up again, a possible fix is to create a function that compares 2 mobility files to see if they match up to some tolerance in the time, position, and velocity for every mobility line rather than forcing the double values created on different machines to be exactly the same. |