Commit Graph

1149 Commits

Author SHA1 Message Date
Vladimir Prus
a0c8689ab0 Add a script to facilitate creating of tests from directories.
[SVN r16610]
2002-12-15 10:10:10 +00:00
Vladimir Prus
022ef577da Implement BB7: now there's "build-dir" project
attribute which controls where generated targets are put,
much in the same was as ALL_LOCATE_TARGET.

* new/virtual-target.jam
    (virtual-target.path): Respect build dir.
    (virtual-target.actualize-location): Don't
       compute path, but call call instead.

* new/project.jam
    (initialize): Set default value for 'build-dir'.
    (project-attributes.set): Handle 'build-dir'.

* new/path.jam
    (relative): New rule.

* test/build_dir.py: New test.


[SVN r16589]
2002-12-11 19:01:50 +00:00
Vladimir Prus
cfe61e5caa Introduce the <dll-path> and <hardcode-dll-paths> features.
* gcc.jam: Handle the <dll-path> feature.

* builtin.jam
    New features <dll-path> and <hardcode-dll-paths>.
    (link-action.adjust-properties): Add library's
    full paths to <dll-path> when <hardcode-dll-paths>
    is specified.


[SVN r16588]
2002-12-11 17:40:48 +00:00
Vladimir Prus
8905002026 Bugfix: dependency features in use requirements were mishandled.
* new/targets.jam
    (basic-target.generate): Use 'generate-dependencies'
    for use requirements on this target.

* test/use_requirements.py: More tests.


[SVN r16580]
2002-12-10 07:48:56 +00:00
Vladimir Prus
043e67d51f Bugfix: path features in target requirement were
not translated.

* test/path_features.py: Fix a bug in test.

* new/targets.jam
    (main-target-requirements): Bugfix.


[SVN r16579]
2002-12-10 07:15:33 +00:00
Vladimir Prus
2c841baa2d Replace the "prebuilt" rule with <file> feature.
* new/generators.jam
    (find-viable-generators): Allow target type of
       "*" mean any type. Try generators for "*" first.
       Really ignore generators for base types when
       there's a generator for derived type. Allow
       grist-only element in generators requirements
       to match all values of property.

* new/prebuilt.jam
    (prebuilt-target-class): Remove
    (prebuild-file-generator): New class.


[SVN r16578]
2002-12-10 07:06:43 +00:00
Vladimir Prus
149a9f83ef Improve shared/static linking interface and
introduce separate <link-runtime> feature.
Allow to use the 'lib' rule to declare
libraries that should be searched for.

* builtin.jam: Remove 'shared' features. Introduce
   'link' and 'link-runtime'.
   (searched-lib-target): New class
   (searched-lib-generator): New generator.
   (lib-action): New class, derived from 'action'.
   Handles instances of 'searched-lib-target' in sources.
   Also, moves all libraries from sources to property value,
   so that we can repeat them twice in command line.
   (lib-generator): Generator which uses 'lib-action'.

* generators.jam: Allow empty list of sources everywhere.

* virtual-target.jam (file-target): Split into
   'abstract-file-target' and 'file-target'.
   (abstra
  (action.actualize-sources): New rule. Allows to
  handle the fact that some sources are special,
  and should not become $(>) in action body.


[SVN r16573]
2002-12-09 10:02:37 +00:00
Vladimir Prus
c830f2d90a Better support project requirements with dependency properties
in it. Don't generate all main target into separate subdirectories
in this case.

* new/targets.jam:
    (project-target.reference-properties): New method
    (generate): Moved from basic-target.generate-source
    (generate-dependencies): New rule.

* test/project_dependencies.py: New test.


[SVN r16453]
2002-11-28 08:18:06 +00:00
Vladimir Prus
731f4ee7f7 Improve 'flags' and the gcc toolset.
* gcc.jam: Extend the 'toolset' feature with gcc here.
    Use flags for linking too and eliminate 'link-options'
    rule. Remove empty compile/archive/link/link-dll rules.

* toolset.jam (flags): Document somehow.
     (set-target-variables): Call 'actualize' on values
     of dependency features.


[SVN r16440]
2002-11-27 09:35:53 +00:00
Vladimir Prus
1f02cb3334 Add dummy actions for 'all', so that jam return 0 exit status. It used
to return 0 before because of a bug, but now that the bug is fixed, we
need to change test.jam.


[SVN r16359]
2002-11-21 12:27:38 +00:00
Vladimir Prus
d58cc867f1 Test for composite properties in target references.
[SVN r16347]
2002-11-20 16:38:53 +00:00
Dave Abrahams
8270fed72e Tests for v1 testing
[SVN r16345]
2002-11-20 15:51:53 +00:00
Vladimir Prus
d9b8b467ed Forgotten change.
[SVN r16248]
2002-11-15 07:15:10 +00:00
Vladimir Prus
b6d69f0b88 Revive all the tests.
* boost_build_v2.html: Document new option.

* new/generators.jam (find-viable-generators): Revert part of Dave's
   commit, essentially disabling finding base type generators.
   This part breaks a test, and need to be thinked about.

* new/errors.jam: Handle "--no-error-backtrace" option.

* test/project_test4.py: Adjust for new error syntax.


[SVN r16233]
2002-11-14 10:17:50 +00:00
Vladimir Prus
296276a550 Fix rule echoing.
* jam_src/make1.c (make1c): Output don't output nonqueit when neither
     DEBUG_MAKE nor DEBUG_MAKEQ is set.

   * test/code_d1d2.py: New test.


[SVN r16231]
2002-11-14 07:11:16 +00:00
Vladimir Prus
75230dc75a First implementation of "stage" and "prebuilt" rule.
* new/common.jam (copy): New rule.

* new/targets.jam (main-target.generate): Use a different
   algorith for selecting subvariant. Favour one with
   the longest intersection of requirements with build
   properties.

* new/virtual-target.jam (virtual-target): Eliminate 'subvariant'
   attribute. Use properties of action to for the same
   purpose. New methods 'set-path' and 'extra-grist'.


[SVN r16129]
2002-11-06 10:26:11 +00:00
Dave Abrahams
946edc4ce6 initial commit
[SVN r16122]
2002-11-05 19:56:18 +00:00
Dave Abrahams
2fe349e4b9 Proof-of-concept for testing
[SVN r16108]
2002-11-04 21:57:50 +00:00
Dave Abrahams
9fc2525046 Cygwin compatibility
[SVN r16107]
2002-11-04 21:56:41 +00:00
Vladimir Prus
2adc4a8664 Made 'include' adjustment for generated headers work when other
targets are specified as sources, not only as dependency properties.

    * new/virtual-target.jam (subvariant-dg): Note which sources
    are roots of dependency grapgs and record those graphs.


[SVN r16095]
2002-11-04 17:24:41 +00:00
Vladimir Prus
bdae1e81eb Honour use-requirements for dependency properties.
[SVN r15964]
2002-10-23 10:39:23 +00:00
Vladimir Prus
16c30bee97 Forgotten file.
[SVN r15852]
2002-10-10 12:20:19 +00:00
Vladimir Prus
e60af004d1 Add more tests.
[SVN r15851]
2002-10-10 12:12:06 +00:00
Vladimir Prus
93ba07f369 Implement dependendency features.
[SVN r15850]
2002-10-10 11:58:41 +00:00
Vladimir Prus
b55dc66bf3 Implement simple form of use requirements.
* new/virtual-target.jam
        (virtual-target.use-requirements): New rule.
        (virtual-target.set-use-requirements): New rule.

    * new/generators.jam (construct): Use 'use-requirements' of sources.

    * new/targets.jam (basic-target.generate): Store use requirements for
             generated targets.
      (main-target-alternative): Process use requirements.

    * new/project.jam: Support 'use-requirements' project attribute.


[SVN r15821]
2002-10-09 11:33:22 +00:00
Vladimir Prus
ef5eff03d0 Bugfixes.
* new/virtual-targets.jam (virtual-target.root): New rule
        (traverse): Don't traverse past roots.
    * new/targets.jam (main-target): Call 'virtual-target.root' as
        appropriate.


[SVN r15773]
2002-10-07 14:34:43 +00:00
Vladimir Prus
12518b72c2 Sundry improvements:
Bison and lex support.
    unit-test rule
    --version option
    default build really works

    * new/build-system.jam: Bugfixes. Added "--version" option.

    * new/project.jam: If default-build is not specifies, don't stick "debug".

    * new/property.jam (evaluate-conditionals): New rule.

    * new/targets.jam (basic-target.generate): Evalute conditional properties.

    * test/BoostBuild.py (Tester.maybe_do_diff): New method.
        (Tester.run_build_system): Call the above method when
        appropriate.


[SVN r15771]
2002-10-07 13:34:14 +00:00
Vladimir Prus
585b2f713e Allow to specify target ids in command line.
* project.jam (lookup-with-load): New rule.
      (find-target): Try interperting target id as project first.

    * build-request.jam (from-command-line): Don't grab
      unconditionally elements which have slashes -- they may be target
      ids.

    * build-system.jam: Allow target ids is command
      line. Accept --clean option.

    * BoostBuild.py (run_build_system): Call 'ignore_directoies' on diff.

    * tree.py (Trees_different.ignore_directoies): New method.


[SVN r15768]
2002-10-07 13:18:27 +00:00
Vladimir Prus
b2ed2fe8f5 Fix some obscure bugs.
* new/virtual-target.jam (clone-template): Improve interface and logic.

    * new/make.jam (make-target-class.construct): Set type and suffix on
    generated targets.

    * new/generators.jam (construct): Make sure all targets have known
     types.


[SVN r15766]
2002-10-07 13:08:04 +00:00
Vladimir Prus
43f2565a2d Allow directory part in names of source files.
[SVN r15708]
2002-10-04 13:59:25 +00:00
Vladimir Prus
bba2939592 Implement path features.
* property.jam (translate-paths): New rule.

    * targets.jam (main-target-alternative): Translate path
      properties.

    * project.jam (project-attributes.set): Likewise.

    * builtin.jam (variant): Fixes.


[SVN r15707]
2002-10-04 13:48:38 +00:00
Vladimir Prus
791b5ad620 Implement variant declaration.
* builtin.jam (variant): New rule.

    * build-system.jam: Unconditionally add <toolset>gcc to build
        request. Will be fixed when toolset support is ready.

    * feature.jam (extend-feature): Bugfix.


[SVN r15678]
2002-10-03 16:29:21 +00:00
Vladimir Prus
455019d5dc Propagate free properties in build request to all directly requested targets.
* targets.jam
        (abstract-target.direct-build-request): New rule.
        (project-target.direct-build-request): New rule.
        (main-target.direct-build-request): New rule.
        (main-target.generate): Use data stored by
        'direct-build-request' to adjust build properties.

    * build-system.jam: Call 'direct-build-request' on project
         target in "."

    * feature.jam (feature): Don't allow propagated free features.


[SVN r15677]
2002-10-03 15:18:59 +00:00
Vladimir Prus
2977f296d2 Skip projects when property refinement for them fails.
Skip main targets when no alternative can be build.
Issue error when 'construct' for alternative fails.


[SVN r15676]
2002-10-03 15:01:09 +00:00
Vladimir Prus
2e9065c102 Cleanups.
[SVN r15651]
2002-10-02 16:13:54 +00:00
Vladimir Prus
9029c81fce Test for poor main's per-source requirements.
* new/builtin.jam: Make 'obj' main type.
    * new/generators-test/*: Try compiling the same CPP file with
        different defines and linking in the same exe.


[SVN r15649]
2002-10-02 12:38:13 +00:00
Vladimir Prus
511b07358e Dependency scanning implementation.
* jam_src/builtins.c: New builtin SEARCH_FOR_TARGET.

    * jam_src/rules.c
         (bind_explicitly_located_targets): New function.
         (search_for_target): New function.

    * jam_src/make.c (make): Call 'bind_explicitly_located_targets()'
        immediately on entering.

    * jam_src/search.c (call_bind_rule): No longer 'static'.

    * new/builtin.jam (c-scanner.process): Real implementation.

    * test/dependency_test.py: Really test for dependencies.


[SVN r15646]
2002-10-02 11:56:32 +00:00
Vladimir Prus
c06b10384a Infrastructure for dependency scanning.
* virtual-target.jam (virtual-target.actualize): Accept
        'scanner' parameter and create different actual targets
        for different values of that parameter.
     (virtual-target.includes): Remove.
     (binding): New rule
     (remember-binding): New rule.

    * type.jam (set-scanner): New rule. (get-scanner): New rule.

    * scanner.jam: New file.

    * class.jam (__init__): Define __name__ in class scopes.

    * builtin.jam (c-scanner): New scanner class, associated with CPP
        files.


[SVN r15644]
2002-10-02 10:04:03 +00:00
Vladimir Prus
44f3faf761 Adjust include paths for compilations, so that generated headers are found.
* virtual-target.jam (traverse): New rule, returns a list of
    targets, given the graph root.
  (subvariant-dg): New class, to keep all targets for a given
    subvariant.
  (virtual-target.dg): New rule to access subvariant-dg.
  (virtual-target.path): New rule

* targets.jam (main-target.generate): Assign subvariant dg to all
  created targets.

* builtin.jam (compile-action.adjust-properties): Use subvariant
  dg to find all targets, their location, and add those location
  to include path.


[SVN r15619]
2002-10-01 17:00:24 +00:00
Vladimir Prus
b53b5af5e0 Added hooks to allow special property adjustment for generators and actions.
For example, this would allow compilers to add generated headers into include
path.

	* virtual-target.jam (action.adjust-properties): New rule.
	  (clone-action-template): Don't slice cloned object.

	* generators.jam (generator.action-class): New rule, to allow
	  overriding action class on per-generator basis.

	* builtin.jam (compile-action): New class.
	    (C-compiling-generator): New class.

	* gcc.jam: Use C-compiling-generator for gcc. Honor includes.


[SVN r15618]
2002-10-01 16:31:31 +00:00
Vladimir Prus
f2c695ebe8 Tweak test system.
[SVN r15611]
2002-10-01 14:55:52 +00:00
Vladimir Prus
609dd1f6ab Introduced SHARED-LIB and STATIC-LIB target types. Also introduced LIB target
type and a generator, which relays either to SHARED-LIB or STATIC-LIB,
depending of the value of "shared" feature.


[SVN r15529]
2002-09-27 07:35:03 +00:00
Vladimir Prus
7caaaac870 Work in progress.
- Got rid of vectors of vectors in generators code. That was not only slow, it
  was also troublesome.
- Started work on transformation caching. Works but needs review/cleanup.


[SVN r15465]
2002-09-20 12:50:44 +00:00
Vladimir Prus
e7eab4c752 Prevent creating two equivivalent virtual targets. This, in particular,
prevents complining the same source twice with the same properties.
Also allow generators to change source names using patterns.

    * new/generators.jam (generator): Accept name patterns together with
        target types.
        (generator.generated-targets): Use name patterns. Transform generated
        targets with 'virtual-targets.register', to eliminate duplicate
        virtual targets.


[SVN r15302]
2002-09-13 12:19:42 +00:00
Vladimir Prus
2796e8f328 Added generators test to the test suite.
[SVN r15269]
2002-09-11 15:56:56 +00:00
Vladimir Prus
ba4cc2976f Small fix.
[SVN r15268]
2002-09-11 15:54:39 +00:00
Dave Abrahams
12807f87fc More cygwin/NT compatibility fixes
[SVN r15267]
2002-09-11 15:40:32 +00:00
Dave Abrahams
4711f64f4e Workaround for cywgin/NT build
[SVN r15263]
2002-09-11 14:37:25 +00:00
Vladimir Prus
021c2e550d Some cleanups. At the same time, allowed several suffixes to target types
(e.g. "cpp" and "cxx").


[SVN r15262]
2002-09-11 14:18:52 +00:00
Vladimir Prus
4a7a508bc2 Added future generators test -- not automated now.
[SVN r14926]
2002-08-16 14:25:22 +00:00
Vladimir Prus
708e462dbf Created a new file 'common.jam' to keep rules not specific to a toolset.
* new/targets.jam: Use 'common' instead of 'utility'.
    * test/project_test3.py: Test that 'clean' works.
    * test/svn_tree.py: Sync with upstream revision 2944. Fix a bug
       which caused empty directory to be treated as file.


[SVN r14886]
2002-08-15 09:29:49 +00:00
Vladimir Prus
670c715402 Propagate only propagated properties.
[SVN r14884]
2002-08-15 08:42:08 +00:00
Vladimir Prus
04f57ff5ca Renamed 'os.path.jam' to 'path.jam'.
[SVN r14753]
2002-08-09 11:43:47 +00:00
Vladimir Prus
728a621cfb More checks for 'use-project' in project root module.
[SVN r14707]
2002-08-06 07:01:19 +00:00
Rene Rivera
52f28e78ef Add call to project root use-project for testing.
[SVN r14704]
2002-08-06 04:10:55 +00:00
Vladimir Prus
650a824995 Made names of preserved directories printed by tests.
* test/TestCmd.py (TestCmd.cleanup): Print the names of preserved
        directories. Reset self._dirlist even if directories are preserved.
    * test/BoostBuild.py (Tester.cleanup): New method.


[SVN r14489]
2002-07-17 09:16:37 +00:00
Vladimir Prus
8e64eb262d Deleted project_test2 and moved the interesting tests from it to project_test4.
[SVN r14404]
2002-07-11 10:01:53 +00:00
Vladimir Prus
8ccb3666b2 Renamed the 'subproject' rule to 'build-project' in UI.
[SVN r14403]
2002-07-11 09:41:29 +00:00
Vladimir Prus
77c5930fc8 Recover project_test3 to life.
[SVN r14399]
2002-07-10 16:27:25 +00:00
Vladimir Prus
8c70c8b287 Work on issue 577833: Finish target paths.
* new/targets.jam (main-target.generate) Add extra path component to
        virtual target which free properties are not equal to project's.
        (basic-target.generate): Pass refined properties to 'construct'.
        (virtual-target.extra-path): New rule.
        (virtual-target.actualize): Make use of extra path.
    * new/property.jam (take-free): New rule.


[SVN r14396]
2002-07-10 16:05:15 +00:00
Vladimir Prus
6813d7ce77 Changed reporting of unability to satisfy a build request.
* new/target.jam (main-target.generate): Give a more detailed error
        message when no alternative is found. (basic-target.generate):
        Don't exit with error when requirements can't be satisfied. Just
        return an error string.


[SVN r14393]
2002-07-10 09:06:24 +00:00
Vladimir Prus
47f95f3528 Forgotten file.
[SVN r14392]
2002-07-10 08:43:11 +00:00
Vladimir Prus
52a21fa88c Implemented main target alternative selection.
* new/targets.jam (main-target.generate): Select the alternative
         based on the list of non-free requirements.
     * new/property.jam (remove-free): New rule, removes free property from
         a property set.


[SVN r14391]
2002-07-10 08:37:31 +00:00
Vladimir Prus
d099c061b8 Bugfix.
[SVN r14390]
2002-07-10 07:31:57 +00:00
Vladimir Prus
64d934d4a0 Test system tweaks.
* test/TestCmd.py: Cause the names of preserved directories to be
        printed.
    * test/test_system.html: Document "PRESERVE*" environmental variables
       and "pass_test"/"fail_test" methods.


[SVN r14389]
2002-07-10 07:31:24 +00:00
Vladimir Prus
ffa86d5a91 Work around the fact that our tests change the current directory.
[SVN r14375]
2002-07-09 16:01:34 +00:00
Vladimir Prus
b0c9980865 Specifying target properties in target references now actually work.
* new/targets.jam (basic-target.generate-source): Fix regex.
    * test/project_test4.py: New test.


[SVN r14374]
2002-07-09 15:57:21 +00:00
Vladimir Prus
f3ec2d31dc Documented project-test3.
[SVN r14371]
2002-07-09 15:05:06 +00:00
Vladimir Prus
ac3d613184 Allow to use implicit features in some places.
* new/property.jam (make): New rule, constructs property set from
        what the user gives. Handles implicit features.
    * new/project.jam, new/targets.jam: Use 'property.make'.


[SVN r14370]
2002-07-09 15:03:04 +00:00
Vladimir Prus
028fbc5951 Removed obsolete test system and tests.
[SVN r14364]
2002-07-09 09:05:59 +00:00
Vladimir Prus
9384457f08 Work on the issue 578618. Moved all the data out of jamfile modules.
* new/project.jam (project-attributes): New class to keep all the
        project related data. (attritutes, attribute): New rules to access
        the project attributes. (target): New rule to access the project
        target for a jamfile module.
        (initialize): Store attribute in project-attributes instance.
        (project): Moved to jamfile module.
        (assign-option): Moved with modifications to project-attributes.get.
    * new/targets.jam, new/project-root.jam, new/make.jam,
      new/build-system.jam: Induced changes.


[SVN r14362]
2002-07-09 07:56:51 +00:00
Vladimir Prus
ffd68201df Test that targets from projects with different project roots can be used
together.


[SVN r14349]
2002-07-08 11:35:17 +00:00
Vladimir Prus
0e7be98dea Cleanups.
* new/targets.jam: (main-target.alternatives): Renamed from
      'main-target.variants'. Comment improvements.


[SVN r14342]
2002-07-08 10:38:54 +00:00
Vladimir Prus
e76db483d1 Using targets from other projects implemented.
* new/project.jam (lookup): Bugfixes. (find-target): Attempt to load
        project specified by project id.
        Project module rules:
            project: Allow empty id.
            use-project: New rule.
    * new/targets.jam: (basic-target.generate-source): Correct a bug in
        separating target id from extra properties.


[SVN r14341]
2002-07-08 10:26:57 +00:00
Vladimir Prus
5c7e8f77a6 Restore project_test2.py to life again.
[SVN r14337]
2002-07-08 09:30:19 +00:00
Dave Abrahams
78ff6489c6 incorporate defaults into build-request.expand
[SVN r14311]
2002-07-05 16:17:12 +00:00
Vladimir Prus
4e4254f5cb Apply feature defaults when building.
* new/build-request.jam (expand-with-defaults): New rule
    * new/build-system.jam, new/targets.jam: Use 'expand-with-defaults' instead
        of 'expand'.
    * new/builtin.jam: Define new feature 'threading'.
    * test/project_test3.py: Test that feature defaults are applied.


[SVN r14307]
2002-07-05 15:09:28 +00:00
Vladimir Prus
b3595b0e70 Unbreak project_test2.
[SVN r14284]
2002-07-02 15:07:43 +00:00
Vladimir Prus
e21fb49bcf Implemented getting build request from the command line.
* new/build-request.jam (from-command-line): New rule.
    * new/build-system.jam: Get build request from the command line,
        expand it and pass to 'generate' rules.
    * new/targets.jam: Use targets's properties when computing path.
    * test/project_test3.py: Test the above changes.


[SVN r14283]
2002-07-02 15:02:04 +00:00
Vladimir Prus
efd007c790 Project root loading tweaks.
* new/project-root.jam (load): Really produce an error message when
        project root file is not found.
    * test/project_test3.py: Test for the error reporting.


[SVN r14280]
2002-07-02 14:14:45 +00:00
Vladimir Prus
41896394ad Fix typo in the previous commit.
[SVN r14276]
2002-07-02 11:41:17 +00:00
Vladimir Prus
bde3a45b09 Made project_test3 work on windows.
[SVN r14275]
2002-07-02 11:37:54 +00:00
Vladimir Prus
023c50202f Test system improvements w.r.t. file content matching.
* test/BoostBuild.py (Tester.read_and_strip, Tester.expect_content):
        New methods.
    * test/test_system.html: Document the above methods.


[SVN r14274]
2002-07-02 10:34:43 +00:00
Dave Abrahams
d22e72693c improved property.as-path
[SVN r14269]
2002-07-01 20:05:37 +00:00
Vladimir Prus
50137dcc10 Beginning of the 'make' rule.
* new/targets.jam: Check for duplicate 'basic-target::generate()' calls.
        Use better logic to tell is source is another main target or file.
        (project-target::has-main-target): New rule.
    * new/project.jam (lookup): Fixes. (find-target): Implemented.
    * new/make.jam: New file, defines the 'make' rule and associated target
        class.
    * new/build-system.jam: Import 'make'. Generate virtual targets and
        actualize them.
    * new/utility.jam: Added "MkDir" rule and actions.
    * test/project_test3.py: New test.


[SVN r14249]
2002-06-27 14:00:30 +00:00
Vladimir Prus
07b79b453f Fix a bug in the previous commit.
[SVN r14248]
2002-06-27 13:41:35 +00:00
Vladimir Prus
f7691b8ccb Futher cleanups. Tests now pass.
* new/targets.jam: Rename 'abstract-target::local-name' to 'name'. Rename
        'abstract-target::name()' to 'abstract-target::full-name()'.
    * test/project-test2/project-test2.jam: Induces change.


[SVN r14247]
2002-06-27 11:00:05 +00:00
Vladimir Prus
6c15e489bb Don't wait after each run of bjam. Instead, wait for time change before
making any change to filesystem by the tester classes.


[SVN r14238]
2002-06-25 14:55:27 +00:00
Dave Abrahams
25fb2add6c Merged from RC_1_28_0
[SVN r13944]
2002-05-16 00:56:42 +00:00
Rene Rivera
fd3c87f199 Added container.
[SVN r13828]
2002-05-12 16:57:31 +00:00
Dave Abrahams
42ef876174 fix tabs and line-endings
[SVN r13774]
2002-05-09 14:24:57 +00:00
Dave Abrahams
a3364b7b11 Restored to health on non-NT systems
[SVN r13742]
2002-05-08 11:39:23 +00:00
Vladimir Prus
7e8437b177 * test/project_test1.py: Remove trailing whitespace, so that the test
work again, after 'print' fixes.


[SVN r13712]
2002-05-07 07:17:20 +00:00
Dave Abrahams
ca39cf30da Clear environment before testing
[SVN r13696]
2002-05-06 21:09:03 +00:00
Dave Abrahams
3605d8dc91 bug fix
[SVN r13695]
2002-05-06 20:59:53 +00:00
Dave Abrahams
2bf1779f95 Bug fixes
[SVN r13693]
2002-05-06 18:54:24 +00:00
Dave Abrahams
6a5ea2f5e3 initial commit
[SVN r13691]
2002-05-06 18:29:50 +00:00
Dave Abrahams
6da1c928af initial commit
[SVN r13690]
2002-05-06 18:22:28 +00:00
Dave Abrahams
b4e91a9649 new initialization code + tests
[SVN r13689]
2002-05-06 18:20:47 +00:00
Dave Abrahams
bd5f6d5455 new initialization code + tests
[SVN r13688]
2002-05-06 18:14:59 +00:00
Dave Abrahams
2b392b9c3f new initialization code + tests
[SVN r13687]
2002-05-06 17:51:21 +00:00
Vladimir Prus
13dc7be0d6 Forgotten file.
[SVN r13682]
2002-05-06 09:14:28 +00:00
Vladimir Prus
526a6b60ec Work on project/targets modules.
* new/targets.jam: Considerably changed.
    * new/project.jam: Projects now return project targets via 'target' rule.
        Requirements are inherited. Renames 'subinclude(s)' to 'subproject(s)'.
        (find-jamfile): Rewritten, which fixes some bugs.
    * new/project-root/jam: (print): Sort projects first by they id, which
        makes order more predictable.
    * test/project-test1.py: Also run test from the 'project-test1' dir.
    * test/project-test2.py: New test.


[SVN r13681]
2002-05-06 09:11:30 +00:00
Vladimir Prus
180d72a999 Fixes.
* test/BoostBuild.py (Test.run_build_system): Now really allow any exit
        status if the 'status' paremeter is 'None', per documentation.


[SVN r13680]
2002-05-06 08:48:08 +00:00
Vladimir Prus
05219612c8 Test system fixes.
* test/BoostBuild.py (Tester.__init__): New paremeter 'arguments'. Add
        BOOST_BUILD_PATH to the command line.
        (Tester.set_tree): Make files writable after copying.
        (Tester.copy): New method
        (Test.read): Open file in read mode.
    * test/test_system.html: Documented the above changes. Small cleanups.
    * new/test.jam: Remove bootstrap code.
    * new/readme.txt: Changed command line for running unit tests.


[SVN r13678]
2002-05-06 07:22:46 +00:00
Rene Rivera
4710ebfa4d Updated test to use generic print rules instead of dump rule. And therefore removed dump rule.
[SVN r13667]
2002-05-04 15:44:38 +00:00
Vladimir Prus
81c11a458f Some property functions.
* property.jam (refine-properties): New rule.
    * feature.jam: New feature attribute 'link-incompatible'.
    * test.jam: Test the property module.


[SVN r13640]
2002-05-03 14:15:18 +00:00
Dave Abrahams
ee065366a2 initial checkin
[SVN r13637]
2002-05-03 12:35:41 +00:00
Vladimir Prus
cfbf941144 Enhancements for project.lookup.
* new/project.jam (lookup): Require second argument, which specifies
        directory, relative to which paths in id should be interpreted.
    * test/project-test1.jam: Test for the above change.


[SVN r13636]
2002-05-03 10:10:14 +00:00
Vladimir Prus
99f579c5c9 Updated project-test1.py.
[SVN r13635]
2002-05-03 09:46:01 +00:00
Dave Abrahams
202045e0c2 Eliminated bogus ^M characters
[SVN r13626]
2002-05-02 19:01:29 +00:00
Dave Abrahams
0241b6de73 Workaround for crazy assertion in Jambase
[SVN r13625]
2002-05-02 19:01:07 +00:00
Dave Abrahams
64ae13d9a8 Show *full* build command on failure
[SVN r13624]
2002-05-02 19:00:38 +00:00
Dave Abrahams
c9a4bf48b3 Updated test to take advantage of --build-system=... option
[SVN r13620]
2002-05-02 16:44:13 +00:00
Dave Abrahams
30ef00ea04 Initial checkin, includes test instructions
[SVN r13619]
2002-05-02 16:41:36 +00:00
Dave Abrahams
6dc0ba2240 Added --debug --quiet to args used when running tests
[SVN r13618]
2002-05-02 16:39:04 +00:00
Vladimir Prus
2b7b4614eb Test system improvements.
* BoostBuild.py
        (Tester.expect_nothing): New method.
        (Tester.run_build_system): Added 'subdir' argument. Take a nap
        after running bjam, so that further touches to files are detected.
    * test_system.html
        Document the above changes. Document earlier changes to List{}.
        Fixed typos.


[SVN r13522]
2002-04-18 08:35:27 +00:00
Vladimir Prus
3ff33503ce Change of tests to accomodate new load behaviour and also fix previous
incorrect commit.


[SVN r13518]
2002-04-17 14:30:13 +00:00
Vladimir Prus
4e0da61c59 Added description of milestone 1 and some tests for it.
[SVN r13517]
2002-04-17 14:10:54 +00:00
Dave Abrahams
31eb4b7e09 Use new List niceties
[SVN r13497]
2002-04-15 18:05:58 +00:00
Dave Abrahams
2cce65e400 Added some niceties for List class
[SVN r13496]
2002-04-15 18:04:33 +00:00
Vladimir Prus
b03fa41185 Plugged the project test in the testing framework.
[SVN r13458]
2002-04-12 08:07:39 +00:00
Vladimir Prus
e451f261bc Added two example tests.
[SVN r13457]
2002-04-12 07:26:10 +00:00
Vladimir Prus
b70c44af0f Make the test system invoke jam binary located in the same working copy.
[SVN r13446]
2002-04-11 15:16:22 +00:00
Vladimir Prus
6484f68f2d Added a test for the 'project' module.
[SVN r13424]
2002-04-10 06:52:06 +00:00
Vladimir Prus
42a8bf643f Another attempt at replacing tabs with spaces.
[SVN r13409]
2002-04-09 07:48:35 +00:00
Vladimir Prus
21d6cd568e Added new test system sources. Updated docs.
[SVN r13401]
2002-04-08 15:13:36 +00:00
Dave Abrahams
8cfa7b44d9 perforce 2.4 merge (again)
[SVN r13391]
2002-04-07 00:22:45 +00:00
Vladimir Prus
789a1fdd62 Added test system docs.
[SVN r13359]
2002-04-03 11:10:10 +00:00
Dave Abrahams
1ac75b8de2 *** empty log message ***
[SVN r13288]
2002-03-27 22:45:04 +00:00
Dave Abrahams
8e383958ad New module scoping rules
[SVN r13287]
2002-03-27 22:23:30 +00:00
Vladimir Prus
d875b67380 Minor modifications.
* regex.jam (split): Change behavour with regard to separators at
	the beginning of string.
    * os.path.jam (has_parent, parent, join): Allow relative paths to
	point upward.
	(all_parents): new rule
	Added support for unix pathes.


[SVN r13279]
2002-03-26 08:56:05 +00:00
Dave Abrahams
423e65af29 Bug fix for Windows at least
[SVN r12983]
2002-02-28 15:22:17 +00:00
Dave Abrahams
e9b2c95e8a Build request expansion
[SVN r12778]
2002-02-10 00:49:29 +00:00
Dave Abrahams
6cb1bdc689 added tests for sequence, string, and numbers
[SVN r12301]
2002-01-13 17:50:10 +00:00
Dave Abrahams
2b1d5b3fbb fixes
[SVN r12146]
2001-12-24 19:27:39 +00:00
Dave Abrahams
fb61875273 no message
[SVN r12053]
2001-12-13 18:45:42 +00:00
Dave Abrahams
afc5de72ce ----------------------------------------------------------------------
committing in tools/build

Modified Files:
	build_system.htm
		Documented:
			local rules
			the RULENAMES rule
			the EXPORT rule
			the BACKTRACE rule
			new IMPORT semantics
			-d+12 Dependency Graph Output
			Crude Argument Binding
			Variable numbers of arguments

	jam_src/compile.c
		implemented RULENAMES, EXPORT, varargs support, new IMPORT semantics
		removed unused variables

	jam_src/make1.c
	jam_src/hdrmacro.c
		removed unused variables

	jam_src/jamgram.{c,h,y,yy}
		"module local x" does not change module local value of x
		if it is already set.

	jam_src/lists.[ch]
		added list_pop_front()

	new/assert.jam new/boost-build.jam
	new/build-system.jam new/errors.jam
	new/modules.jam new/os.path.jam
		beginnings of new build system

	test/check-arguments.jam
	test/check-jam-patches.jam
	test/echo_args.jam
		Added tests for recent core modifications; comments

Added Files:
	new/feature.jam new/property.jam
	new/readme.txt new/sequence.jam
	new/test.jam
		beginnings of new build system
----------------------------------------------------------------------


[SVN r11789]
2001-11-27 16:41:59 +00:00
Dave Abrahams
b326d85682 tests for local rules and backtraces
[SVN r11761]
2001-11-21 04:48:41 +00:00
Dave Abrahams
8966d74530 more IMPORT tests
[SVN r11689]
2001-11-14 19:57:52 +00:00
Vladimir Prus
fd6d532196 Build testing framework added.
[SVN r11638]
2001-11-09 09:07:53 +00:00
Dave Abrahams
0d6b779d27 ----------------------------------------------------------------------
Modified Files:
	allyourbase.jam build_system.htm new-split.jam
 Tag: jam_src
	jam_src/Jambase jam_src/compile.c jam_src/compile.h
	jam_src/headers.c jam_src/jam.c jam_src/jam.h
	jam_src/jambase.c jam_src/jamgram.c jam_src/jamgram.h
	jam_src/jamgram.y jam_src/jamgram.yy jam_src/jamgramtab.h
	jam_src/lists.c jam_src/lists.h jam_src/makedebugjam.bat
	jam_src/modules.c jam_src/modules.h jam_src/newstr.c
	jam_src/newstr.h jam_src/parse.c jam_src/parse.h
	jam_src/rules.c jam_src/rules.h jam_src/search.c
	jam_src/subst.c
 No tag
	test/check-jam-patches.jam
Added Files:
	boost-build.jam
----------------------------------------------------------------------

allyourbase.jam
  Fix the way new-split.jam is included, by using $(JAM_VERSION) to detect the
  presence of new language features.

build_system.htm
  Updated documentation to include core Jam extensions.

jam_src/Jambase
  Updated so that the built-in Jambase can be completely overridden based on
  JAMBASE, BOOST_ROOT, and BOOST_BUILD_PATH environment variables.

jam_src/compile.{c,h}
  Added IMPORT and CALLER_MODULE rules, header legend for profile dump. Moved
  regex_compile so it could be used by more functions.

jam_src/headers.c, jambase.c, jamgram.{c,y,yy}, search.c, subst.c
  Adjusted for the addition of FRAMEs, which was needed for CALLER_MODULE.

jam_src/jam.c
  added JAM_VERSION and started using FRAMEs.

jam_src/jam.h
  swapped the -d argument numbers that were used by profiling and parse debugging.

jam_src/lists.{c,h}
  Pulled stack frames out of LOL and put them where they belong, in the interpreter.

jam_src/modules.{c,h}
  Use strncat instead of strncpy to get predictable behavior.

jam_src/parse.{c,h}, rules.{c,h}
  Adjust for FRAMEs, and added a rulename field in the PARSE node to support
  profiling with modules.

test/check-jam-patches.jam
  Added tests for IMPORT and CALLER_MODULE


[SVN r11427]
2001-10-23 23:10:28 +00:00
Dave Abrahams
68de9b0878 ----------------------------------------------------------------------
Modified Files:
	Jambase allyourbase.jam
 Tag: jam_src
	jam_src/Jamfile jam_src/command.c jam_src/common.mk
	jam_src/compile.c jam_src/compile.h jam_src/hash.c
	jam_src/hash.h jam_src/jambase.c jam_src/jamgram.c
	jam_src/jamgram.h jam_src/jamgram.y jam_src/jamgram.yy
	jam_src/jamgramtab.h jam_src/lists.c jam_src/lists.h
	jam_src/make1.c jam_src/makedebugjam.bat jam_src/newstr.c
	jam_src/newstr.h jam_src/parse.c jam_src/parse.h
	jam_src/rules.c jam_src/rules.h jam_src/search.c
 No tag
	test/check-arguments.jam test/check-bindrule.jam
	test/check-jam-patches.jam test/recursive.jam
	test/test_nt_line_length.jam
Added Files:
 Tag: jam_src
	jam_src/modules.c jam_src/modules.h
Removed Files:
	Jamfile
----------------------------------------------------------------------

Jambase
   Removed obsolete check-arguments rule

allyourbase.jam
   Added different split rule definition for new Jam executable when
   NEW_BOOST_JAM is set.

Jamfile
    removed (this file was flotsam)

jam_src/Jamfile
    Added module.c; allowed yyacc to run under NT

jam_src/command.c
jam_src/make1.c
    added rule body/action reference-counting

jam_src/common.mk
    Added modules.c

jam_src/compile.c
    account for rule body/action reference-counting
    added "module { ... }, module local..." support
    cleaned up code for evaluate_rule

jam_src/compile.h
jam_src/parse.{c,h}
    Added module support

jam_src/hash.{c,h}
    Added a data parameter to hashenumerate() for flexibility

jam_src/jamgram.{yy,y,c,h}
jam_src/jamgramtab.h
jam_src/lists.{c,h}
    Added module support
    refactored grammar slightly

jam_src/makedebugjam.bat
    removed bogus invocation of yyacc
    cleaned up redundant variable settings

jam_src/modules.{c,h} - added

jam_src/rules.{c,h}
    added rule body/action reference-counting
    module support
    free list for SETTINGS

jam_src/search.c
    cleaned up a confusing name

test/check-arguments.jam
    added copyright notice
    made it stand on its own

test/check-bindrule.jam
test/recursive.jam
    use new argument-list feature

test/check-jam-patches.jam
    tests for:
      new SUBST behavior,
      "for local <var> in ...",
      while loops,
      negative indices/slices
      module rules and locals

test/test_nt_line_length.jam
    commenting and cleanup


[SVN r11411]
2001-10-20 13:01:16 +00:00
Dave Abrahams
e21603cd7f All of my pending changes
[SVN r11328]
2001-10-02 12:24:53 +00:00
Dave Abrahams
925d4c0418 beginnings of a test framework
[SVN r11083]
2001-09-10 02:53:41 +00:00
Dave Abrahams
9e00fb3e0b beginnings of a test framework
[SVN r11080]
2001-09-10 02:40:57 +00:00
Dave Abrahams
c21434b394 initial checkin
[SVN r10901]
2001-08-20 10:39:42 +00:00
Dave Abrahams
4968be2fd2 added assertion tests
[SVN r10900]
2001-08-20 10:39:19 +00:00
Dave Abrahams
fe147dfc5e Intermediate step in build system rewrite
Added Files:
 	Jambase ftjam-requests.txt test/Jamfile test/jam-fail.jam
 	test/unit-tests.jam


[SVN r10874]
2001-08-16 11:17:59 +00:00