Commit Graph

40 Commits

Author SHA1 Message Date
Rene Rivera
2744026f64 Adjust project test to account for rooted jamfile.
With sans-jamroot projects we don't get a missing jamroot error.
Hence we can get other errors, like in this test that fails to find
definitions in the missing jamroot.
2018-10-18 08:35:01 -05:00
Steven Watanabe
429081e45e expect_content inadvertently ignored the first element. 2018-01-08 15:56:53 -07:00
Rene Rivera
40e7f0e8dd Fix tests to pass on Windows after removing toolset requirements ignore.
Various restructure of test framework handling of paths to avoid duplicate path editing which caused failed tests. Adjust many tests to deal with added subdirectories in build outputs now that toolset requirements are active.
2017-07-02 23:28:48 -05:00
Jurko Gospodnetić
3eca1c873f Updated the internal Boost Build project_test3.py test to not test for the complete Boost Jam output but only the important parts. This way warnings shown at misconfigured tester locations will no longer cause this test to fail.
[SVN r79702]
2012-07-23 18:19:34 +00:00
Jurko Gospodnetić
5522e70bd8 Boost Build internal testing framework cleanup - minor stylistic changes (Python string literal quoting, line wrapping, trailing spaces, updated expected output line leading & trailing spaces to match the actual output).
[SVN r79698]
2012-07-23 16:54:18 +00:00
Jurko Gospodnetić
343b4d6532 Updated the internal Boost Build testing system to use the Python subprocess module (introduced in Python 2.4) for running external processes instead of popen2 (deprecated since Python 2.6). We are already using Python 2.4 features in this codebase so there is no need to support Python releases older than 2.4.
Related changes:
  * BoostBuild.Tester & TestCmd.TestCmd interfaces now accept external process parameters as a list of strings, thus avoiding problems with parsing arguments containing spaces.
  * Avoided a potential process hang in case an external process being run prints out enough output to fill up the OS's pipe buffer (OS would pause the process until someone read the data from the pipe but the testing framework would not do this until the process in question had terminated).

[SVN r79448]
2012-07-12 12:55:25 +00:00
Jurko Gospodnetić
c5e5b5324e Boost Build cleanup - minor stylistic internal Boost Build test script & testing system changes.
[SVN r79445]
2012-07-12 12:22:14 +00:00
Vladimir Prus
8c1bd79f33 Reset everyting back to revision 56032.
My partial reverts of things appear to be creating bigger mess.


[SVN r56042]
2009-09-05 12:44:28 +00:00
Vladimir Prus
5368d5d44f Revert revision 48644.
It contains so many formatting changes to as make porting things to
Python impossible. I'll cherry-pick the todo and non-formatting changes
soonish.


[SVN r56034]
2009-09-05 12:01:30 +00:00
Jurko Gospodnetić
92aea5bb39 Minor stylistic changes throughout several Boost Build modules. Added several todo comments.
[SVN r48644]
2008-09-07 06:10:32 +00:00
Jurko Gospodnetić
f20f88b91d Renamed differently named Jamroot and Jamfile files throughout Boost Build's test suite to jamroot.jam & jamfile.jam. Stylistic changes throughout the whole Boost Build test suite.
[SVN r48504]
2008-08-31 21:42:27 +00:00
Jurko Gospodnetić
b871e58f62 Renamed some Jamfile and project-root.jam references to Jamfile.jam and Jamroot.jam respectively.
[SVN r42498]
2008-01-05 20:48:50 +00:00
Rene Rivera
602b6d8b13 Add/update copyrights+license (with help of a shell script).
[SVN r35856]
2006-11-05 18:13:42 +00:00
Vladimir Prus
3bec6c2038 Change the --clean option to only clean targets under references projects.
Add the --clean-all option to clean everything.


[SVN r32739]
2006-02-08 15:24:31 +00:00
Vladimir Prus
daf4d58c63 * build/project.jam
(load-parent): New rule, extracted from 'initilize'.
  (load-jamfile): If loading project-root.jam, check for
      Jamfile and load it in the same module.
  (inherit-attributes): Simplify.
  (project-rules.constant, project-rules.path-constant): New rules.

* build/targets.jam
  (project-target.__init__): New paramater 'parent'.
  (project-target.inherit)
  (project-target.add-constant)
  (project-target.intern-constants): New rules

*


[SVN r26251]
2004-11-19 09:51:54 +00:00
Vladimir Prus
49adf0f54e Remove tabs.
[SVN r21112]
2003-12-03 07:56:28 +00:00
Vladimir Prus
be258d889a Remove support for old-style target ids.
[SVN r19913]
2003-09-04 11:06:14 +00:00
Vladimir Prus
83394f7ff8 Implement new target-id syntax.
[SVN r18780]
2003-06-11 12:22:03 +00:00
Vladimir Prus
0d2f6b260b Simplify project-id and target-id handling.
* new/project.jam
  (lookup) Don't support project location in front of "@".
  (lookup-with-load): Remove.
  (find): New rule.
  (find-target): move to...

* new/target.jam
  (find): Here. And simplify.


[SVN r18667]
2003-06-04 13:30:45 +00:00
Dave Abrahams
09d88e1f8e Fixes for testing
[SVN r17642]
2003-02-25 14:37:10 +00:00
Vladimir Prus
e017ca640f Towards really cross-toolset testing system.
- Allow to specify toolset name on the command line
- Expand $toolset in paths
- Pass toolset name to bjam invocations.


[SVN r17555]
2003-02-20 13:08:51 +00:00
Vladimir Prus
2f58129645 Automatically adjust suffixes when running tests.
[SVN r17505]
2003-02-18 08:32:57 +00:00
Dave Abrahams
38ca2de3b2 untested MSVC toolset
untested response-file support
expanded optimization to speed/space/off

removed module_actions.PYC
validate multiple properties at once.
Fix bugs in type.jam, virtual-target.jam, symlink.py


[SVN r17487]
2003-02-17 15:16:35 +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
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
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
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
728a621cfb More checks for 'use-project' in project root module.
[SVN r14707]
2002-08-06 07:01:19 +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
ffa86d5a91 Work around the fact that our tests change the current directory.
[SVN r14375]
2002-07-09 16:01:34 +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
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
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
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
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