diff --git a/tests/macro_build/analyzer_lt_test.dart b/tests/macro_build/analyzer_lt_test.dart
index 7a962df..52b3123 100644
--- a/tests/macro_build/analyzer_lt_test.dart
+++ b/tests/macro_build/analyzer_lt_test.dart
@@ -8,8 +8,7 @@
   testMacroBuild([
     r'$DART pub get',
     r'$DART '
-        // TODO(davidmorgan): find this programmatically.
-        r'$DART_SDK/out/DebugX64/gen/dartanalyzer.dart.snapshot '
+        r'$DART_SDK_OUT/gen/dartanalyzer.dart.snapshot '
         '-Dtest_runner.configuration=analyzer-asserts-linux '
         '--enable-experiment=macros '
         '--ignore-unrecognized-flags '
diff --git a/tests/macro_build/cfe_lt_test.dart b/tests/macro_build/cfe_lt_test.dart
index 02065e1..639f717 100644
--- a/tests/macro_build/cfe_lt_test.dart
+++ b/tests/macro_build/cfe_lt_test.dart
@@ -12,8 +12,7 @@
         '--verify '
         '--skip-platform-verification -o out.dill '
         '--platform '
-        // TODO(davidmorgan): find this programmatically.
-        r'$DART_SDK/out/DebugX64/vm_platform_strong.dill '
+        r'$DART_SDK_OUT/vm_platform_strong.dill '
         '-Dtest_runner.configuration=cfe-strong-linux '
         '--enable-experiment=macros '
         '--nnbd-strong '
diff --git a/tests/macro_build/tester/tester.dart b/tests/macro_build/tester/tester.dart
index 4bb9ab5..97ecfb9 100644
--- a/tests/macro_build/tester/tester.dart
+++ b/tests/macro_build/tester/tester.dart
@@ -10,6 +10,21 @@
 import 'package:path/path.dart' as p;
 import 'package:test/test.dart';
 
+final dartSdkOutDirectory = _findSdkOutDirectory();
+
+String _findSdkOutDirectory() {
+  var dartSdkOutDirectory = File(Platform.resolvedExecutable).parent;
+  if (!Directory.fromUri(dartSdkOutDirectory.uri.resolve('gen')).existsSync()) {
+    // Not next to `dart`, try two levels up for `dart-sdk/bin` suffix.
+    dartSdkOutDirectory = dartSdkOutDirectory.parent.parent;
+  }
+  if (!Directory.fromUri(dartSdkOutDirectory.uri.resolve('gen')).existsSync()) {
+    fail("Can't find SDK 'gen' directory from ${Platform.resolvedExecutable}, "
+        'please run from an SDK build out.');
+  }
+  return dartSdkOutDirectory.path;
+}
+
 /// Tests a macro build specified by [commands].
 ///
 /// The commands are launched with current directory set to a temp folder with
@@ -30,7 +45,7 @@
   var workingDirectory = '${temp.path}/package_under_test';
   await _copyPath(sourceDirectory, workingDirectory);
 
-  var dartSdkPath = Directory.current.path;
+  final dartSdkPath = Directory.current.path;
   final dartPath = Platform.resolvedExecutable;
 
   // TODO(davidmorgan): run on more platforms.
@@ -51,6 +66,10 @@
   var failed = false;
   var timedOut = false;
   for (var command in commands) {
+    if (command.contains(r'$DART_SDK_OUT')) {
+      // Only search for SDK out directory if it's needed for this test case.
+      command = command.replaceAll(r'$DART_SDK_OUT', dartSdkOutDirectory);
+    }
     final commandParts = command
         .replaceAll(r'$DART_SDK', dartSdkPath)
         .replaceAll(r'$DART', dartPath)
