13491:9783a9007eac |
05-Dec-2018 |
Gabe Black <gabeblack@google.com> |
systemc: Update test output for longer lived processes.
In the systemc spec, process handles can be invalidated if they have no children and are terminated. The implementation is not required to do so however, and for the sake of simplicity gem5 currently does not. To quote:
"When the underlying process instance terminates, if the process instance has no surviving children, an implementation may choose to invalidate any associated process handles, but it is not obliged to do so."
Two tests have reference output which is affected by this (legal) difference in behavior. In one case, the test creates new processes which reuse the names of processes that have been terminated. Since gem5 doesn't invalidate the old processes, a standard mechanism is activated which renames the processes to something which is unique.
The other test has this same problem, and also prints the hierarchy of processes several times during the test. In that hierarchy, the terminated tests with no live children are still present, where in the old reference output they've been removed.
This change updates the reference output to match gem5's behavior.
Change-Id: I363448de10080bdce01a4df92f991c67b31a2401 Reviewed-on: https://gem5-review.googlesource.com/c/14919 Reviewed-by: Matthias Jung <jungma@eit.uni-kl.de> Maintainer: Gabe Black <gabeblack@google.com> |
13309:981ed18fdb57 |
06-Oct-2018 |
Gabe Black <gabeblack@google.com> |
systemc: Manually correct the golden output for a test.
The golden reference output for the test was to throw an error which is clearly not at all related to the test (it was about immediate self notifications while the test never calls any form of notify()) and which would happen significantly before the end of the test, negating all the other behaviors and checks which would happen after that point.
Since it strongly looks like the reference output was updated in error, and because other very similarly structured tests are expected to run silently except for printing "Success" at the end (which it does when run under gem5), this change manually updates the golden reference output to reflect what appears to be correct.
Change-Id: I9cde81c28774049653d60f1ffd37a2fae875b522 Reviewed-on: https://gem5-review.googlesource.com/c/13315 Reviewed-by: Gabe Black <gabeblack@google.com> Maintainer: Gabe Black <gabeblack@google.com> |
12876:e332bbd21d47 |
13-Jun-2018 |
Gabe Black <gabeblack@google.com> |
systemc: Remove references to internal constants from the tests.
The tests were referring to constants defined in the Accellera systemc implementation which identified various log message types. This change replaces those (sometimes quite long) string constants with their actual value. This doesn't make that interface any more fragile since the constant value won't track between the Accellera version and this one, but it does make its fragility more explicit by using the value directly.
If in the future we decide to hide the magical nature of those particular string constants, we could make them into our own constants in the implementation. Regardless, the tests shouldn't refer to internal details of the implementation.
Change-Id: I116a7407fcac49367649b250683117f3ccf4f9ed Reviewed-on: https://gem5-review.googlesource.com/11181 Reviewed-by: Gabe Black <gabeblack@google.com> Maintainer: Gabe Black <gabeblack@google.com> |