Bug 3719 - stop propogation of Test*.*Internals
Summary: stop propogation of Test*.*Internals
Status: RESOLVED FIXED
Alias: None
Product: frysk
Classification: Unclassified
Component: general (show other bugs)
Version: unspecified
: P2 normal
Target Milestone: ---
Assignee: Andrew Cagney
URL:
Keywords:
Depends on: 3724 3722
Blocks: 2234
  Show dependency treegraph
 
Reported: 2006-12-14 15:09 UTC by Andrew Cagney
Modified: 2006-12-14 15:49 UTC (History)
0 users

See Also:
Host:
Target:
Build:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Cagney 2006-12-14 15:09:50 UTC
In the beginning there was a single standalone test program; and the coders felt
that life was good.

But then a second test was needed, and so the first test was copied and
modified, this giving birth to a second standalone test program, and so again
the coders felt that life was pretty good.

But then things started to go wrong.  The original test was copied again and
again and again, this leading to many similar standlone test programs, each
doing what they needed but each also duplicating much of work of the older
tests.  There was much confusing duplication within the source code, and much
slowness of the testsuite run.  There were rumblings, but on the whole, the
coders still felt that life was good.

But then the architect declared "Thou shall go forth and tests using JUnit." 
And all the coders celebrated, for they had been given a challenging task, and
again they felt happy.  But then a voice in the wilderness cried, "but what of
those old tests", and the architect replied "thou shall refactor".

And many tasks were refactored, and there was much use of JUnit, and coders
celebrated and life seemed good.  But unfortunatly a few tests remained.  These
were the oldest tests, that contained the most complex code, these were the
tests that refused to change.

But the coders kept refactoring, and the most complex code could see if nothing
was done it too would soon be clensed of complexity and converted to JUnit.  And
so it hatched a plan.  Late one morning, when all the coders were sleeping, the
most complex code would slip into a coders office, create an Invisibility
Internals class, and hide itself.  That way, in the afternoon, when the coders
awoke, they would find the complex code gone and assume that all was refactored
and coding life could return to normal.

And so the most complex code hatched its plan, and the coders were indeed fooled
in to thinking all was refactored and things appeared to return to normal.

But unfortunatly the most complex code, no longer pround and visible, and fed by
programmers hiding the other complex code, festered under the Invisibility
Internals class turning into evilly complex code.

Things were most definitly not good.
Comment 1 Andrew Cagney 2006-12-14 15:48:22 UTC
$ frep 'Timers, observers, counters, etc.. needed for the test.'
frysk-core/frysk/proc/TestRegMemModify.java:62:  // Timers, observers, counters,
etc.. needed for the test.
frysk-core/frysk/proc/TestRegMemModify.java:220:  // Timers, observers,
counters, etc.. needed for the test.
frysk-core/frysk/proc/TestModify.java:61:    // Timers, observers, counters,
etc.. needed for the test.
frysk-core/frysk/proc/SyscallExaminer.java:58:  // Timers, observers, counters,
etc.. needed for the test.
frysk-core/frysk/proc/TestTaskSyscallObserver.java:499:  // Timers, observers,
counters, etc.. needed for the test.
Comment 2 Andrew Cagney 2006-12-14 15:49:20 UTC
Index: frysk-core/frysk/proc/ChangeLog
2006-12-14  Andrew Cagney  <cagney@redhat.com>

        * TestTaskSyscallObserver.java (TestSyscallInterruptXXXX):
        Rename TestSyscallInterruptInternals.
        * TestRegs.java (TestI386RegsXXX): Rename TestI386RegsInternals.
        (TestX8664RegsXXX): Rename TestX8664RegsInternals.
        (TestPPC64RegsXXX): Rename TestPPC64RegsInternals.
        * TestRegMemModify.java (TestI386ModifyXXX): Rename
        TestI386ModifyInternals.
        (TestX8664ModifyXXX): Rename TestX8664ModifyInternals.
        (TestPPC64ModifyXXX): Rename TestPPC64ModifyInternals.
        * TestModify.java (TestModifyXXX): Rename TestModifyInternals.