|  | // Copyright (c) 2018, the R8 project authors. Please see the AUTHORS file | 
|  | // for details. All rights reserved. Use of this source code is governed by a | 
|  | // BSD-style license that can be found in the LICENSE file. | 
|  | package com.android.tools.r8.utils; | 
|  |  | 
|  | import org.junit.rules.TestWatcher; | 
|  | import org.junit.runner.Description; | 
|  |  | 
|  | /** | 
|  | * This {@link TestWatcher} passes test description information | 
|  | * (namely test class and method names) to the test framework | 
|  | * via system properties. | 
|  | */ | 
|  | public class TestDescriptionWatcher extends TestWatcher { | 
|  |  | 
|  | @Override | 
|  | protected void starting(Description description) { | 
|  | System.setProperty("test_class_name", description.getClassName()); | 
|  | System.setProperty("test_name", description.getMethodName()); | 
|  | System.setProperty("reset_output_index", "true"); | 
|  | } | 
|  |  | 
|  | @Override | 
|  | protected void finished(Description description) { | 
|  | System.clearProperty("test_class_name"); | 
|  | System.clearProperty("test_name"); | 
|  | } | 
|  |  | 
|  | } |