From a3d739c472ec834053d1b2075ae5b9d08e0b4ba7 Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Wed, 28 Jan 2026 08:35:01 -0500 Subject: [PATCH] Add Barrier build test --- build_tests/build_tests.rb | 12 ++++++++++++ build_tests/simple/barrier_builder.rb | 15 +++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 build_tests/simple/barrier_builder.rb diff --git a/build_tests/build_tests.rb b/build_tests/build_tests.rb index a801ec6..eaa34c5 100644 --- a/build_tests/build_tests.rb +++ b/build_tests/build_tests.rb @@ -3545,4 +3545,16 @@ test "supports building LLVM assembly files with the Program builder in direct m expect_match(`./llvmtest.exe`, /hello again/) end +test "supports a Barrier builder to order builds" do + test_dir "simple" + result = run_rscons(args: %w[-f barrier_builder.rb]) + expect_eq(result.stderr, "") + expect_eq(result.status, 0) + slines = lines(result.stdout) + expect_eq(slines.size, 3) + expect_match(slines[0], /B:t/) + expect_match(slines[1], /B:t/) + expect_match(slines[2], /B:one/) +end + run_tests diff --git a/build_tests/simple/barrier_builder.rb b/build_tests/simple/barrier_builder.rb new file mode 100644 index 0000000..1e6cca6 --- /dev/null +++ b/build_tests/simple/barrier_builder.rb @@ -0,0 +1,15 @@ +class B < Builder + def run(*args) + puts "B:#{@target}" + true + end +end + +env do |env| + env.add_builder(B) + env.B("one") + env.B("two") + env.B("three") + env.Barrier(:bar, %w[two three]) + env.depends("one", :bar) +end