diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 18:45:59 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 18:45:59 +0000 |
commit | 19fcec84d8d7d21e796c7624e521b60d28ee21ed (patch) | |
tree | 42d26aa27d1e3f7c0b8bd3fd14e7d7082f5008dc /src/boost/tools/build/test/builtin_split_by_characters.py | |
parent | Initial commit. (diff) | |
download | ceph-19fcec84d8d7d21e796c7624e521b60d28ee21ed.tar.xz ceph-19fcec84d8d7d21e796c7624e521b60d28ee21ed.zip |
Adding upstream version 16.2.11+ds.upstream/16.2.11+dsupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/boost/tools/build/test/builtin_split_by_characters.py')
-rwxr-xr-x | src/boost/tools/build/test/builtin_split_by_characters.py | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/src/boost/tools/build/test/builtin_split_by_characters.py b/src/boost/tools/build/test/builtin_split_by_characters.py new file mode 100755 index 000000000..4a0a0e061 --- /dev/null +++ b/src/boost/tools/build/test/builtin_split_by_characters.py @@ -0,0 +1,57 @@ +#!/usr/bin/python + +# Copyright 2012. Jurko Gospodnetic +# Distributed under the Boost Software License, Version 1.0. +# (See accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) + +# This tests the SPLIT_BY_CHARACTERS rule. + +import BoostBuild + +def test_invalid(params, expected_error_line): + t = BoostBuild.Tester(pass_toolset=0) + t.write("file.jam", "SPLIT_BY_CHARACTERS %s ;" % params) + t.run_build_system(["-ffile.jam"], status=1) + t.expect_output_lines("[*] %s" % expected_error_line) + t.cleanup() + +def test_valid(): + t = BoostBuild.Tester(pass_toolset=0) + t.write("jamroot.jam", """\ +import assert ; + +assert.result FooBarBaz : SPLIT_BY_CHARACTERS FooBarBaz : "" ; +assert.result FooBarBaz : SPLIT_BY_CHARACTERS FooBarBaz : x ; +assert.result FooBa Baz : SPLIT_BY_CHARACTERS FooBarBaz : r ; +assert.result FooBa Baz : SPLIT_BY_CHARACTERS FooBarBaz : rr ; +assert.result FooBa Baz : SPLIT_BY_CHARACTERS FooBarBaz : rrr ; +assert.result FooB rB z : SPLIT_BY_CHARACTERS FooBarBaz : a ; +assert.result FooB B z : SPLIT_BY_CHARACTERS FooBarBaz : ar ; +assert.result ooBarBaz : SPLIT_BY_CHARACTERS FooBarBaz : F ; +assert.result FooBarBa : SPLIT_BY_CHARACTERS FooBarBaz : z ; +assert.result ooBarBa : SPLIT_BY_CHARACTERS FooBarBaz : Fz ; +assert.result F B rB z : SPLIT_BY_CHARACTERS FooBarBaz : oa ; +assert.result Alib b : SPLIT_BY_CHARACTERS Alibaba : oa ; +assert.result libaba : SPLIT_BY_CHARACTERS Alibaba : oA ; +assert.result : SPLIT_BY_CHARACTERS FooBarBaz : FooBarBaz ; +assert.result : SPLIT_BY_CHARACTERS FooBarBaz : FoBarz ; + +# Questionable results - should they return an empty string or an empty list? +assert.result : SPLIT_BY_CHARACTERS "" : "" ; +assert.result : SPLIT_BY_CHARACTERS "" : x ; +assert.result : SPLIT_BY_CHARACTERS "" : r ; +assert.result : SPLIT_BY_CHARACTERS "" : rr ; +assert.result : SPLIT_BY_CHARACTERS "" : rrr ; +assert.result : SPLIT_BY_CHARACTERS "" : oa ; +""") + t.run_build_system() + t.cleanup() + +test_invalid("", "missing argument string") +test_invalid("Foo", "missing argument delimiters") +test_invalid(": Bar", "missing argument string") +test_invalid("a : b : c", "extra argument c") +test_invalid("a b : c", "extra argument b") +test_invalid("a : b c", "extra argument c") +test_valid() |