Commit Graph

210 Commits

Author SHA1 Message Date
pierre
405655ba60 + Skip library tests for go32v2 target
git-svn-id: trunk@17817 -
2011-06-24 10:11:19 +00:00
pierre
256c58d670 * Fix SetTargetDirectoriesStyle , needed a call to GetCompilerTarget first
git-svn-id: trunk@17796 -
2011-06-22 15:42:58 +00:00
pierre
9f919b942a + Support !ENV_VAR option and separate ExeExt for target from SrcExeExt for cross-testing
git-svn-id: trunk@17696 -
2011-06-08 14:55:30 +00:00
Jonas Maebe
e8f654ffa5 * fixed ForceExtension() after r16905 in case the input did not have an
exitension (it cut off the last character of the filename in that case)

git-svn-id: trunk@16911 -
2011-02-12 21:13:51 +00:00
pierre
acb2aca3d0 * Remove limitations to 255 chars of shortstrings
* Better handle relative remotepath:
   - use cd to go to this path,
   - but call executable using only ./execfilename
 * Keep .exe suffix for cygwin style ssh for go32v2, win32 or win64 targets

git-svn-id: trunk@16905 -
2011-02-11 10:47:21 +00:00
pierre
e3b56a1bcb + TargetHasDosStyleDirectories, TargetAmigaLike,
TargetIsMacOS: New variables, used in new function IsAbsolute.
  SetTargetDirectoriesStyle;, IsMacFullPath, IsAbsolute: New functions.
  CopyFile: Changed from procedure to function returning the
  number of copied chars.
  RunCompiler: Add compilation type for benchmark -D option.
  RunExecutable: Add execution time for benchmark -D option.
  Also report Exitcode on failure if no output is written
  (i.e. CopyFile returns zero written chars).
  HelpScreen function: Order options alphabetically.
  Add new -D benchmark option.

git-svn-id: trunk@16757 -
2011-01-13 14:06:24 +00:00
pierre
365c0d82bf * Fix windows code to avoid closing unopened files
git-svn-id: trunk@16342 -
2010-11-14 10:38:03 +00:00
Jonas Maebe
8b0301409a + i386/iphonesim target for the new iPhoneSimulator in Xcode 3.2.4 and
later: the same as i386/darwin, except
      a) uses the non-fragile Objective-C ABI/runtime
      b) does not require stubs for direct calls/jumps (not required for
         i386/darwin under 10.6 and later either, but still generated
         there for backwards compatibility)
      c) only the same packages are enabled as for ARM/Darwin
      d) MacOSAll is compiled specifically for the iPhoneSimulator SDK
    This target also defines the symbol "darwin" apart from the target
    name "iphonesim" for source code compatibility reasons.

git-svn-id: trunk@16065 -
2010-09-29 21:56:47 +00:00
pierre
1fcd37809b * Fix compilation for go32v2
git-svn-id: trunk@15700 -
2010-08-03 11:42:40 +00:00
pierre
2646db8036 * Add is_new boolean arg to AddTestResult, to e able to know
if the call really added a new result.

git-svn-id: trunk@14807 -
2010-01-26 12:54:48 +00:00
pierre
85fef0d52d * Improve test result insertion into database
git-svn-id: trunk@14804 -
2010-01-25 16:51:50 +00:00
pierre
95b04cea9d * fix two string errors
git-svn-id: trunk@14799 -
2010-01-25 10:46:29 +00:00
pierre
5fa9463074 * remove two warnings
git-svn-id: trunk@14778 -
2010-01-22 23:32:51 +00:00
pierre
def7ffbea5 * Add some additional fields to testrun table
git-svn-id: trunk@14777 -
2010-01-22 23:09:02 +00:00
pierre
be36d13e73 + Update for correct cleaning of dbdigest executable
git-svn-id: trunk@14774 -
2010-01-22 16:03:40 +00:00
pierre
d5f0cc1f7d + Add explicit Port for mysql connection
git-svn-id: trunk@14771 -
2010-01-22 15:33:34 +00:00
pierre
9c487c236a * more updates for test history
git-svn-id: trunk@14769 -
2010-01-22 10:17:32 +00:00
pierre
134331f129 * more updates for test history
git-svn-id: trunk@14627 -
2010-01-12 17:32:39 +00:00
marco
0b7e3d14e4 * cleanup of redir. I hope this solves win32 lfn problems, while preserving execinheritshandles functionality.
* removed TP/1.0 
    * switched windows to sysutils.executeprocess using new execinheritshandles 
    * new execinherits executeprocess implementation local for 2.4.0 (and 2.4.1, though that is no longer necessary   after merge)  
  

git-svn-id: trunk@14618 -
2010-01-11 19:45:24 +00:00
pierre
c39c87096a * more updates
git-svn-id: trunk@14614 -
2010-01-11 15:01:10 +00:00
pierre
d4e57bcfa9 * Update testsuite web interface
git-svn-id: trunk@14562 -
2010-01-07 15:22:18 +00:00
pierre
a440104065 + NEEDEDAFTER to avoid deleting created files if needed for another test
git-svn-id: trunk@14405 -
2009-12-11 19:27:14 +00:00
pierre
7ba3eb2b02 * Update Makefiles
git-svn-id: trunk@14384 -
2009-12-10 08:29:05 +00:00
Tomas Hajny
0179fb503e * Fix by Giulio: Fix compilation of redir.pp for go32v2
git-svn-id: trunk@14026 -
2009-11-03 22:48:45 +00:00
Jonas Maebe
847354fe10 * Makefiles version 2.5.1
git-svn-id: trunk@13533 -
2009-08-13 21:21:28 +00:00
florian
b98ee089a4 o accelerate testing
+ support multiple files on the dotest command line
  * tests are passed in directory wise batches on OSes supporting long command lines

git-svn-id: trunk@13501 -
2009-08-08 19:47:32 +00:00
Jonas Maebe
e246cac3ac * regenerated using latest fpcmake
git-svn-id: trunk@13487 -
2009-08-02 18:40:14 +00:00
Tomas Hajny
5432694059 * compilation fix for OS/2 and (hopefully) MacOS
git-svn-id: trunk@12379 -
2008-12-17 21:49:25 +00:00
Jonas Maebe
f104ec1346 * fixed one change too many from {ifdef macos} into {ifdef usedos}
git-svn-id: trunk@12363 -
2008-12-14 18:01:16 +00:00
Jonas Maebe
3a56f2403c * fixed windows compilation (currently uses Dos again instead of sysutils)
git-svn-id: trunk@12362 -
2008-12-14 17:58:01 +00:00
Jonas Maebe
060d81b8fa Merged revisions 11878,11881-11882,11889,11891-11893,11895,11899-11902,11935,11938,12212,12304,12308-12310,12316,12330-12332,12334,12339-12340 via svnmerge from
svn+ssh://jonas@svn.freepascal.org/FPC/svn/fpc/branches/wpo

........
r11878 | jonas | 2008-10-11 02:25:18 +0200 (Sat, 11 Oct 2008) | 19 lines

  + initial implementation of whole-program optimisation framework
  + implementation of whole-program devirtualisation
  o use:
     a) generate whole-program optimisation information (no need
        to completely compile the program and all of its units
        with -OW/-FW, only the main program is sufficient)
      fpc -OWdevirtcalls -FWmyprog.wpo myprog
     b) use it to optimise the program
      fpc -B -Owdevirtcalls -Fwmyprog.wpo myprog
     (the -B is not required, but only sources recompiled during
      the second pass will actually be optimised -- if you want,
      you can even rebuild the rtl devirtualised for a particular 
      program; and these options can obviously also be used         
      together with regular optimisation switches)
  o warning:
    - there are no checks yet to ensure that you do not use 
      units optimised for a particular program with another
      program (or with a changed version of the same program)

........
r11881 | jonas | 2008-10-11 19:35:52 +0200 (Sat, 11 Oct 2008) | 13 lines

  * extracted code to detect constructed class/object types from
    tcallnode.gen_vmt_tree into its own method to avoid clutter
  * detect x.classtype.create constructs (with classtype = the
    system.tobject.classtype method), and treat them as if a
    "class of x" has been instantiated rather than a
    "class of tobject". this required storing the instantiated
    classrefs in their own array though, because at such a
    point we don't have a "class of x" tdef available (so
    now "x", and all other defs instantiated via a classref,
    are now stored as tobjectdefs in a separate array)
  + support for devirtualising class methods (including
    constructors)

........
r11882 | jonas | 2008-10-11 20:44:02 +0200 (Sat, 11 Oct 2008) | 7 lines

  + -Owoptvmts whole program optimisation which replaces vmt entries
    with method names of child classes in case the current class'
    method can never be called (e.g., because this class is never
    instantiated). As a result, such methods can then be removed
    by dead code removal/smart linking (not much effect for either
    the compiler, lazarus or a trivial lazarus app though).

........
r11889 | jonas | 2008-10-12 14:29:54 +0200 (Sun, 12 Oct 2008) | 2 lines

  * some comment fixes

........
r11891 | jonas | 2008-10-12 18:49:13 +0200 (Sun, 12 Oct 2008) | 4 lines

  * fixed twpofilereader.getnextnoncommentline() when reusing a previously
    read line
  * fixed skipping of unnecessary wpo feedback file sections

........
r11892 | jonas | 2008-10-12 23:42:43 +0200 (Sun, 12 Oct 2008) | 31 lines

  + symbol liveness wpo information extracted from smartlinked programs
    (-OW/-Owsymbolliveness)
  + use symbol liveness information to improve devirtualisation (don't
    consider classes created in code that has been dead code stripped).
    This requires at least two passes of using wpo (first uses dead code
    info to locate classes that are constructed only in dead code,
    second pass uses this info to potentially further devirtualise).
    I.e.:
     1) generate initial liveness and devirtualisation feedback
       fpc -FWtt.wpo -OWall tt.pp -Xs- -CX -XX
     2) use previously generated feedback, and regenerate new feedback
        based on this (i.e., disregard classes created in dead code)
       fpc -FWtt-1.wpo -OWall -Fwtt.wo -Owall tt.pp -Xs- -CX -XX
     3) use the newly generated feedback (in theory, it is possible
        that even more opportunities pop up afterwards; you can
        continue until the program does not get smaller anymore)
       fpc -Fwtt-1.wpo -Owall tt.pp -CX -XX
  * changed all message() to cgmessage() calls so the set codegenerror
  * changed static fsectionhandlers field to a regular field called
    fwpocomponents
  * changed registration of wpocomponents: no longer happens in the
    initialization section of their unit, but in the InitWpo routine
    (which has been moved from the woinfo to the wpo unit). This way
    you can register different classes based on the target/parameters.
  + added static method to twpocomponentbase for checking whether
    the command line parameters don't conflict with the requested
    optimisations (e.g. generating liveness info requires that
    smartlinking is turned on)
  + added static method to twpocomponentbase to request the
    section name

........
r11893 | jonas | 2008-10-12 23:53:57 +0200 (Sun, 12 Oct 2008) | 3 lines

  * fixed comment error (twpodeadcodeinfo keeps a list of live,
    not dead symbols)

........
r11895 | jonas | 2008-10-13 00:13:59 +0200 (Mon, 13 Oct 2008) | 2 lines

  + documented -OW<x>, -Ow<x>, -FW<x> and -Fw<x> wpo parameters

........
r11899 | jonas | 2008-10-14 22:14:56 +0200 (Tue, 14 Oct 2008) | 2 lines

  * replaced hardcoded string with objdumpsearchstr constant

........
r11900 | jonas | 2008-10-14 22:15:25 +0200 (Tue, 14 Oct 2008) | 2 lines

  * reset wpofeedbackinput and wpofeedbackoutput in wpodone

........
r11901 | jonas | 2008-10-14 22:16:07 +0200 (Tue, 14 Oct 2008) | 2 lines

  * various additional comments and comment fixes

........
r11902 | jonas | 2008-10-15 18:09:42 +0200 (Wed, 15 Oct 2008) | 5 lines

  * store vmt procdefs in the ppu files so we don't have to use a hack to
    regenerate them for whole-program optimisation
  * fixed crash when performing devirtualisation optimisation on programs
    that do not construct any classes/objects with optimisable vmts

........
r11935 | jonas | 2008-10-19 12:24:26 +0200 (Sun, 19 Oct 2008) | 4 lines

  * set the vmt entries of non-class virtual methods of not instantiated
    objects/classes to FPC_ABSTRACTERROR so the code they refer to can
    be thrown away if it is not referred to in any other way either

........
r11938 | jonas | 2008-10-19 20:55:02 +0200 (Sun, 19 Oct 2008) | 7 lines

  * record all classrefdefs/objdefs for which a loadvmtaddrnode is generated,
    and instead of marking all classes that derive from instantiated
    classrefdefs as instantiated, only mark those classes from the above
    collection that derive from instantiated classrefdefs as
    instantiated (since to instantiate a class, you have to load its vmt
    somehow -- this may be broken by using assembler code though)

........
r12212 | jonas | 2008-11-23 12:26:34 +0100 (Sun, 23 Nov 2008) | 3 lines

  * fixed to work with the new vmtentries that are always available and
    removed previously added code to save/load vmtentries to ppu files

........
r12304 | jonas | 2008-12-05 22:23:30 +0100 (Fri, 05 Dec 2008) | 4 lines

  * check whether the correct wpo feedback file is used in the current
    compilation when using units that were compiled using wpo information
    during a previous compilation run

........
r12308 | jonas | 2008-12-06 18:03:39 +0100 (Sat, 06 Dec 2008) | 2 lines

  * abort compilation if an error occurred during wpo initialisation

........
r12309 | jonas | 2008-12-06 18:04:28 +0100 (Sat, 06 Dec 2008) | 3 lines

  * give an error message instead of crashing with an io exception if the
    compiler is unable to create the wpo feedback file specified using -FW

........
r12310 | jonas | 2008-12-06 18:12:43 +0100 (Sat, 06 Dec 2008) | 3 lines

  * don't let the used wpo feedback file influence the interface crc (there's
    a separate check for such changes)

........
r12316 | jonas | 2008-12-08 19:08:25 +0100 (Mon, 08 Dec 2008) | 3 lines

  * document the format of the sections of the wpo feedback file inside the
    feedback file itself

........
r12330 | jonas | 2008-12-10 22:26:47 +0100 (Wed, 10 Dec 2008) | 2 lines

  * use sysutils instead of dos to avoid command line length limits

........
r12331 | jonas | 2008-12-10 22:31:11 +0100 (Wed, 10 Dec 2008) | 3 lines

  + support for testing whole program optimisation tests (multiple
    compilations using successively generated feedback files)

........
r12332 | jonas | 2008-12-10 22:31:40 +0100 (Wed, 10 Dec 2008) | 2 lines

  + whole program optimisation tests

........
r12334 | jonas | 2008-12-10 22:38:07 +0100 (Wed, 10 Dec 2008) | 2 lines

  - removed unused local variable

........
r12339 | jonas | 2008-12-11 18:06:36 +0100 (Thu, 11 Dec 2008) | 2 lines

  + comments for newly added fields to tobjectdef for devirtualisation

........
r12340 | jonas | 2008-12-11 18:10:01 +0100 (Thu, 11 Dec 2008) | 2 lines

  * increase ppu version (was no longer different from trunk due to merging)

........

git-svn-id: trunk@12341 -
2008-12-11 17:40:18 +00:00
marco
e5db5e4aa8 * regened makefiles to propagate makefile versions
git-svn-id: trunk@11947 -
2008-10-22 17:32:15 +00:00
Jonas Maebe
9d8bee1887 * regenerated with changes in r11233
git-svn-id: trunk@11234 -
2008-06-15 15:52:25 +00:00
Jonas Maebe
b6c43bad7d * regenerated for i386-Haiku and darwin cross compilation changes
git-svn-id: trunk@11073 -
2008-05-24 09:29:08 +00:00
Tomas Hajny
91b87e078a * fix for running testsuite for GO32v2 by Giulio Bernardi
git-svn-id: trunk@10835 -
2008-04-28 14:40:21 +00:00
yury
f9eb22394d * Skip UTF-8 BOM.
git-svn-id: trunk@10732 -
2008-04-19 23:18:54 +00:00
Jonas Maebe
c2e3b7067f + added {$goto on} so it still compiles on systems without a
default config file (or one without -Sg in it)

git-svn-id: trunk@10468 -
2008-03-09 19:34:22 +00:00
micha
b96823997d + add "FILES" variable for testsuite tests: list of files required by test needing to be copied to remote target
git-svn-id: trunk@10467 -
2008-03-09 18:25:25 +00:00
joost
9e2e350d08 * Updated script te create testsuite-database
git-svn-id: trunk@9921 -
2008-01-26 12:24:15 +00:00
joost
309106e9f1 * Only convert the classname in the filename of a unit-test to lowercase and not the whole path
git-svn-id: trunk@9896 -
2008-01-24 17:40:32 +00:00
joost
f83f7785ad * Add RelSrcDir setting with a default value of "tests", to specify in which directory the test-sources reside, relative to the TestSrcDir
git-svn-id: trunk@9886 -
2008-01-23 21:59:00 +00:00
joost
76636bad26 * The Category of a testrun is now stored into the database. The default is CategoryID is 1 for compatibility with digests without category
* Fixed procession of db-errors
 * Added support for adding new fpcunit-tests and parse the testunits

git-svn-id: trunk@9853 -
2008-01-21 16:17:12 +00:00
florian
d88847dc14 * ignore -R when doing emulator based testing
git-svn-id: trunk@9735 -
2008-01-13 14:57:05 +00:00
pierre
71999fab94 * use mysql 5.0
git-svn-id: trunk@9533 -
2007-12-26 14:27:48 +00:00
pierre
9a70cf8e16 * only output end if start is already written, prevents wrong html
git-svn-id: trunk@9532 -
2007-12-26 14:23:43 +00:00
peter
fed5137bbb * fix Makefile
git-svn-id: trunk@9531 -
2007-12-26 13:32:40 +00:00
pierre
6373e3f6b5 * update Makefile
git-svn-id: trunk@9530 -
2007-12-26 13:27:40 +00:00
Jonas Maebe
c9ce918485 * regenerated for darwin/x86_64
git-svn-id: trunk@9181 -
2007-11-10 18:37:19 +00:00
Jonas Maebe
f56c2bcefc * fixed some tests involving extended/double/currency after previous
optimization

git-svn-id: trunk@9039 -
2007-11-01 13:53:55 +00:00
peter
a0984505b2 * regenerated to fix fpc detection on non-i386
git-svn-id: trunk@8991 -
2007-10-29 16:34:18 +00:00