2
0
mirror of https://github.com/boostorg/build.git synced 2026-02-01 20:32:17 +00:00
Files
build/test/check-arguments.jam
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

74 lines
2.0 KiB
Plaintext

# (C) Copyright David Abrahams 2001. Permission to copy, use,
# modify, sell and distribute this software is granted provided this
# copyright notice appears in all copies. This software is provided
# "as is" without express or implied warranty, and with no claim as
# to its suitability for any purpose.
#
# Jam code for testing the named-argument patch.
#
include recursive.jam ;
# Prefixes for all of the jam code we're going to test
local ECHO_ARGS = "include echo_args.jam ; echo_args "
;
local ECHO_VARARGS = "include echo_args.jam ; echo_varargs "
;
# Check that it will find missing arguments
Jam-fail $(ECHO_ARGS)";"
: "missing argument a"
;
# Check that it will find if too many arguments are passed
Jam-fail $(ECHO_ARGS)"1 2 : 3 : 4 : 5 ;"
: "extra argument 5"
;
# Check that it will find when an argument has too many elements
Jam-fail $(ECHO_ARGS)"a b c1 c2 : d ;"
: "extra argument c2"
;
# Check modifier '?'
Jam $(ECHO_ARGS)"1 2 3 : 4 ;"
: "a= 1 b= 2 c= 3 : d= 4 : e=" ;
Jam $(ECHO_ARGS)"1 2 : 3 ;"
: "a= 1 b= 2 c= : d= 3 : e=" ;
Jam $(ECHO_ARGS)"1 : 2 ;"
: "a= 1 b= c= : d= 2 : e=" ;
# Check modifier '+'
Jam-fail $(ECHO_ARGS)"1 ;"
: "missing argument d" ;
Jam $(ECHO_ARGS)"1 : 2 3 ;"
: "a= 1 b= c= : d= 2 3 : e=" ;
Jam $(ECHO_ARGS)"1 : 2 3 4 ;"
: "a= 1 b= c= : d= 2 3 4 : e=" ;
# Check modifier '*'
Jam $(ECHO_ARGS)"1 : 2 : 3 ;"
: "a= 1 b= c= : d= 2 : e= 3" ;
Jam $(ECHO_ARGS)"1 : 2 : 3 4 ;"
: "a= 1 b= c= : d= 2 : e= 3 4" ;
Jam $(ECHO_ARGS)"1 : 2 : 3 4 5 ;"
: "a= 1 b= c= : d= 2 : e= 3 4 5" ;
#
# Check varargs
#
Jam $(ECHO_VARARGS)"1 : 2 : 3 4 5 ;"
: "a= 1 b= c= : d= 2 : e= 3 4 5" ;
Jam $(ECHO_VARARGS)"1 : 2 : 3 4 5 : 6 ;"
: "a= 1 b= c= : d= 2 : e= 3 4 5 : rest= 6" ;
Jam $(ECHO_VARARGS)"1 : 2 : 3 4 5 : 6 7 ;"
: "a= 1 b= c= : d= 2 : e= 3 4 5 : rest= 6 7" ;
Jam $(ECHO_VARARGS)"1 : 2 : 3 4 5 : 6 7 : 8 ;"
: "a= 1 b= c= : d= 2 : e= 3 4 5 : rest= 6 7 : 8" ;
Jam $(ECHO_VARARGS)"1 : 2 : 3 4 5 : 6 7 : 8 : 9 ;"
: "a= 1 b= c= : d= 2 : e= 3 4 5 : rest= 6 7 : 8 : 9" ;