Uploaded image for project: 'Derby'
  1. Derby
  2. DERBY-2151

"Fixer-upper" utility to help convert ij canon-based tests to JUnit.

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 10.3.1.4
    • Fix Version/s: 10.3.1.4
    • Component/s: Test
    • Labels:
      None

      Description

      As part of my work to get the XML tests running in JUnit (DERBY-1758) I had to convert the old ij test lang/xml_general.sql into a JUnit equivalent. After hand-converting about twenty or so lines of ij "master" output to the corresponding JUnit commands, I became bored with the melancholy of such a task. So I hastily threw together a small utility to help automate as much of the process as possible.

      To be perfectly frank, the utility is a shameful piece of code. It's poorly-written, non-intuitive, overly complex and not at all well thought-out. It's also completely UN-commented. I wish I could follow-up with a half-hearted claim that "at least it works", but I'm not even sure that's always true...

      My first (and still lingering) inclination is to just bury the utility and never look at it again. However, I have to admit that, while the code is a nightmare to understand, it did a) prompt me to add some general-purpose JUnit utility methods that can be useful (DERBY-1976), and b) save me a lot of time by providing a rough translation of the ij test to JUnit. Then instead of piddling away at line-by-conversions of the test I was able to spend my time re-organizing the JUnit version to make it adhere to the JUnit suggestions on the second page of:

      http://www.javaworld.com/jw-12-2000/jw-1221-junit.html

      So the utility did save me time. And for that reason I've decided to choke down my embarassment and post it to a Jira issue for other developers who may find it useful (or perhaps entertaining as an example of bad programming)...

        Attachments

        1. ijToJUnit.java
          36 kB
          A B
        2. derby-2151-andrew-v1.diff
          38 kB
          Andrew McIntyre
        3. derby-2151-andrew-v2.diff
          41 kB
          Andrew McIntyre
        4. skipBlankLines.diff
          1 kB
          Bryan Pendleton

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              army A B
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: