blob: 6d22d7d882c15e55b56771b3fb7eb587226bfb31 [file] [log] [blame]
/*
* Copyright 2018 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package androidx.build.dependencyTracker
import org.hamcrest.CoreMatchers
import org.hamcrest.MatcherAssert
import org.junit.Rule
import org.junit.Test
import org.junit.rules.TemporaryFolder
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
@RunWith(JUnit4::class)
class BuildPropParserTest {
@Rule
@JvmField
val tmpFolder = TemporaryFolder()
@Test
fun parseProps() {
val repoProps = tmpFolder.newFile("repo.prop")
repoProps.writeText(
"""
platform/external/flatbuffers b5c9b8e12b47d0597cd29b217e5765d325957d8a
platform/external/noto-fonts d20a289eaebf2e371064dacc306b57d37b733f7c
platform/frameworks/support fc9030edfe7e0a85a5545a342c7efbf93283f62f
platform/manifest 446c4307abb8d676b308af55b06e1d1a01c858c7
platform/prebuilts/androidx/external 28219bd26d4ef59e133a85189404db8e73ec0f70
platform/prebuilts/androidx/internal dbbb264e785643cb8089c3a5ed7f8b25c4207738
platform/prebuilts/checkstyle c52010acac9b638f45f66747762cc0ad187c1e39
platform/tools/external/gradle 29b86bd23797fe0873ffe18f12907cd5eea5d427
platform/tools/repohooks bbc97c1419402c3d0297189c2d34228cbb60c2e6
""".trimIndent(),
Charsets.UTF_8
)
val appliedProp = tmpFolder.newFile("applied.prop")
appliedProp.writeText(
"""
frameworks/support e31b2fa85ae9cb414023346684060d1009bf4c11
""".trimIndent(),
Charsets.UTF_8
)
val info = BuildPropParser.getShaForThisBuild(
appliedPropsFile = appliedProp,
repoPropsFile = repoProps
)
MatcherAssert.assertThat(info, CoreMatchers.`is`(
BuildPropParser.BuildRange(
repoSha = "fc9030edfe7e0a85a5545a342c7efbf93283f62f",
buildSha = "e31b2fa85ae9cb414023346684060d1009bf4c11"
)
))
}
}