Menu

#403 Regression testing for pic16

open
nobody
None
5
2017-02-12
2013-09-05
No

The pic16 currently "passes" regression tests (well, lots of tests are disabled for pic16, but those that aren't pass). The pic16 port should be included in automatic regression testing to prevent it from breaking more too much too quickly.

Philipp

Related

Feature Requests: #403
Patches: #288
Wiki: SDCC 4.3.0 Release
Wiki: SDCC 4.4.0 Release

Discussion

  • Diego Herranz

    Diego Herranz - 2013-12-20

    Now that SDCC 3.4.0 it's on sight, could we address this?

    What's needed?

    Thanks a lot!

     
  • Philipp Klaus Krause

    1) Fix as many pic16 regression test failures as we can (there's two new ones hat appeared since I opened this feature request, and all the disabled ones).

    2) Put the infrastructure on the regression testing machines.

    3) Enable it.

    Philipp

    P.S.: I guess someone familiar with the pic ports and gputils should do this.

     
    • Diego Herranz

      Diego Herranz - 2013-12-25

      I'll try to help with this as much as my time allows.

      Regards,
      Diego

      On Fri, Dec 20, 2013 at 7:25 PM, Philipp Klaus Krause spth@users.sf.netwrote:

      1) Fix as many pic16 regression test failures as we can (there's two new
      ones hat appeared since I opened this feature request, and all the disabled
      ones).

      2) Put the infrastructure on the regression testing machines.

      3) Enable it.

      Philipp

      P.S.: I guess someone familiar with the pic ports and gputils should do
      this.


      Status: open
      Created: Thu Sep 05, 2013 08:17 AM UTC by Philipp Klaus Krause
      Last Updated: Fri Dec 20, 2013 06:12 PM UTC
      Owner: nobody

      The pic16 currently "passes" regression tests (well, lots of tests are
      disabled for pic16, but those that aren't pass). The pic16 port should be
      included in automatic regression testing to prevent it from breaking more
      too much too quickly.

      Philipp

      Sent from sourceforge.net because you indicated interest in
      https://sourceforge.net/p/sdcc/feature-requests/403/

      To unsubscribe from further messages, please visit
      https://sourceforge.net/auth/subscriptions/

       

      Related

      Feature Requests: #403

  • Philipp Klaus Krause

    There were a few failing tests for pic16 again. I disabled them. AFAIK the only infrastructure needed on the test machines would be gpsim (in Debian it is in a package of the same name).

    Philipp

     
  • Diego Herranz

    Diego Herranz - 2014-12-05

    Good. It would be fine if we finally enable regression tests on pic16.

    gputils is also needed on the test machines (maybe you were giving it for granted). In case of gputils, the debian package is usually too old. It would be better to use latest stable version.

    Regarding bug-2231, we could apply patch-214 who addresses it instead of disabling it.

    Patch-214 wasn't applied because some discussions arose about the need of pic ports to have their own library implementations, and also subtle comments on differences between strncpy on the patch and strncpy on the standard library (namely registers d and d1 reversed)...

    I think it's better to apply the patch (d1 and d reversed or not), re-enable bug-2231 and later think about not having separate libraries for pic.

    Diego

     
  • Philipp Klaus Krause

    Is gputils age really an issue? The one from Debian unstable is fine for me. It doesn't support all the targets supported by sdcc, but I can run the regression tests.

    Philipp

     
    • Diego Herranz

      Diego Herranz - 2014-12-05

      Don't know, but the version available on Debian is 0.13.7 (as far as I know) which dates back to 2009. There have been 10 releases after it (http://gputils.sourceforge.net/previous.html), 1.4.0 is the latest.

      Having said that, it maybe works. Molnar should know better.

       
  • Martin H

    Martin H - 2017-01-15

    These 4 patches make the regression test build again. All PIC14 tests pass, and on PIC16 only the bank1 test fails.

     
    • Philipp Klaus Krause

      The RFE refers to the real regression tests (support regression), not src/regression.

      Philipp

       
  • Martin H

    Martin H - 2017-02-12

    These 2 patches make the regression test under support/regression execute again.
    I have some further improvements, which I'll post to the development list at some point.

     
    • Philipp Klaus Krause

      With this applied pic16 has less regression test failures than any other backend:

      Summary for 'pic16': 10 abnormal stops ( ), -32650 failures, 7043 tests, 1719 test cases, 0 bytes, 0 ticks

      Philipp

      P.S.: The output is still cluttered by lots of messages like
      gen/pic16/zeropad/zeropad_storage_auto.asm:1128:Message[1301] Using default destination of 0 (Access Bank).

       
    • Philipp Klaus Krause

      Regarding crt0iz: While the RAM size is not available at runtime, the amount of RAM used for global variables might be available at linktime. We do not need to zero all RAM. We only need to zero the RAM where variables reside.
      In other backends, the startup code uses symbols and lets the linker fill in the actual start address and range to be zeroed. E.g. for stm8:

          ldw x, #l_DATA
          jreq    00002$
      00001$:
          clr (s_DATA - 1, x)
          decw x
          jrne    00001$
      

      Philipp

       
      • Martin H

        Martin H - 2017-02-25

        Thanks, I'll have a look at those things.

         

Log in to post a comment.