buck: run tests
Compile each test in its own java_test() target so they can run in parallel, reducing total time spent testing on large machines. $ buck test --all [-] PROCESSING BUCK FILES...FINISHED 0.3s [100%] [-] BUILDING...FINISHED 2.9s [100%] (351/383 JOBS, 351 UPDATED, 0.0% CACHE MISS) [-] TESTING...FINISHED 98.1s (3360 PASS/15 SKIP/0 FAIL) Change-Id: I8d6541268315089299f933ed23d785b1b3431133
This commit is contained in:
parent
34de70a5d4
commit
2f8d787b5f
|
@ -2,7 +2,7 @@
|
|||
includes = //tools/default.defs
|
||||
|
||||
[java]
|
||||
src_roots = src, resources
|
||||
src_roots = src, resources, tst
|
||||
|
||||
[project]
|
||||
ignore = .git
|
||||
|
|
27
lib/BUCK
27
lib/BUCK
|
@ -79,6 +79,15 @@ maven_jar(
|
|||
version = '1.6',
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'tukaani-xz',
|
||||
bin_sha1 = '66db21c8484120cb6a51b5b3ea47b6f383942bec',
|
||||
src_sha1 = '6396220725701d767c553902c41120d7bf38e9f5',
|
||||
group = 'org.tukaani',
|
||||
artifact = 'xz',
|
||||
version = '1.3',
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'args4j',
|
||||
bin_sha1 = '139441471327b9cc6d56436cb2a31e60eb6ed2ba',
|
||||
|
@ -96,3 +105,21 @@ maven_jar(
|
|||
artifact = 'junit',
|
||||
version = '4.11',
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'hamcrest-library',
|
||||
bin_sha1 = '4785a3c21320980282f9f33d0d1264a69040538f',
|
||||
src_sha1 = '047a7ee46628ab7133129cd7cef1e92657bc275e',
|
||||
group = 'org.hamcrest',
|
||||
artifact = 'hamcrest-library',
|
||||
version = '1.3',
|
||||
)
|
||||
|
||||
maven_jar(
|
||||
name = 'hamcrest-core',
|
||||
bin_sha1 = '42a25dc3219429f0e5d060061f71acb49bf010a0',
|
||||
src_sha1 = '1dc37250fbc78e23a65a67fbbaf71d2e9cbc3c0b',
|
||||
group = 'org.hamcrest',
|
||||
artifact = 'hamcrest-core',
|
||||
version = '1.3',
|
||||
)
|
||||
|
|
|
@ -0,0 +1,37 @@
|
|||
TESTS = glob(['tst/**/*.java'])
|
||||
|
||||
for t in TESTS:
|
||||
n = t[len('tst/'):len(t)-len('.java')].replace('/', '.')
|
||||
java_test(
|
||||
name = n,
|
||||
labels = ['pgm'],
|
||||
srcs = [t],
|
||||
deps = [
|
||||
':helpers',
|
||||
'//org.eclipse.jgit:jgit',
|
||||
'//org.eclipse.jgit.archive:jgit-archive',
|
||||
'//org.eclipse.jgit.junit:junit',
|
||||
'//org.eclipse.jgit.pgm:pgm',
|
||||
'//lib:hamcrest-core',
|
||||
'//lib:hamcrest-library',
|
||||
'//lib:javaewah',
|
||||
'//lib:junit',
|
||||
'//lib:slf4j-api',
|
||||
'//lib:slf4j-simple',
|
||||
'//lib:commons-compress',
|
||||
'//lib:tukaani-xz',
|
||||
],
|
||||
source_under_test = ['//org.eclipse.jgit.pgm:pgm'],
|
||||
)
|
||||
|
||||
java_library(
|
||||
name = 'helpers',
|
||||
srcs = glob(['src/**/*.java']),
|
||||
deps = [
|
||||
'//org.eclipse.jgit:jgit',
|
||||
'//org.eclipse.jgit.pgm:pgm',
|
||||
'//org.eclipse.jgit.junit:junit',
|
||||
'//lib:args4j',
|
||||
'//lib:junit',
|
||||
],
|
||||
)
|
|
@ -40,5 +40,6 @@ java_binary(
|
|||
deps = [
|
||||
':pgm',
|
||||
'//lib:slf4j-simple',
|
||||
'//lib:tukaani-xz',
|
||||
],
|
||||
)
|
||||
|
|
|
@ -0,0 +1,94 @@
|
|||
PKG = 'tst/org/eclipse/jgit/'
|
||||
HELPERS = glob(['src/**/*.java']) + [PKG + c for c in [
|
||||
'api/AbstractRemoteCommandTest.java',
|
||||
'diff/AbstractDiffTestCase.java',
|
||||
'internal/storage/file/GcTestCase.java',
|
||||
'internal/storage/file/PackIndexTestCase.java',
|
||||
'internal/storage/file/XInputStream.java',
|
||||
'nls/GermanTranslatedBundle.java',
|
||||
'nls/MissingPropertyBundle.java',
|
||||
'nls/NoPropertiesBundle.java',
|
||||
'nls/NonTranslatedBundle.java',
|
||||
'revwalk/RevQueueTestCase.java',
|
||||
'revwalk/RevWalkTestCase.java',
|
||||
'transport/SpiTransport.java',
|
||||
'treewalk/FileTreeIteratorWithTimeControl.java',
|
||||
'treewalk/filter/AlwaysCloneTreeFilter.java',
|
||||
'test/resources/SampleDataRepositoryTestCase.java',
|
||||
'util/CPUTimeStopWatch.java',
|
||||
'util/io/Strings.java',
|
||||
]]
|
||||
|
||||
DATA = [
|
||||
PKG + 'lib/empty.gitindex.dat',
|
||||
PKG + 'lib/sorttest.gitindex.dat',
|
||||
]
|
||||
|
||||
TESTS = glob(
|
||||
['tst/**/*.java'],
|
||||
excludes = HELPERS + DATA,
|
||||
)
|
||||
|
||||
DEPS = {
|
||||
PKG + 'nls/RootLocaleTest.java': [
|
||||
'//org.eclipse.jgit.pgm:pgm',
|
||||
'//org.eclipse.jgit.ui:ui',
|
||||
],
|
||||
}
|
||||
|
||||
for src in TESTS:
|
||||
name = src[len('tst/'):len(src)-len('.java')].replace('/', '.')
|
||||
labels = []
|
||||
if name.startswith('org.eclipse.jgit.'):
|
||||
l = name[len('org.eclipse.jgit.'):]
|
||||
if l.startswith('internal.storage.'):
|
||||
l = l[len('internal.storage.'):]
|
||||
i = l.find('.')
|
||||
if i > 0:
|
||||
labels.append(l[:i])
|
||||
else:
|
||||
labels.append(i)
|
||||
if 'lib' not in labels:
|
||||
labels.append('lib')
|
||||
|
||||
java_test(
|
||||
name = name,
|
||||
labels = labels,
|
||||
srcs = [src],
|
||||
deps = [
|
||||
':helpers',
|
||||
':tst_rsrc',
|
||||
'//org.eclipse.jgit:jgit',
|
||||
'//org.eclipse.jgit.junit:junit',
|
||||
'//lib:hamcrest-core',
|
||||
'//lib:hamcrest-library',
|
||||
'//lib:javaewah',
|
||||
'//lib:junit',
|
||||
'//lib:slf4j-api',
|
||||
'//lib:slf4j-simple',
|
||||
] + DEPS.get(src, []),
|
||||
source_under_test = ['//org.eclipse.jgit:jgit'],
|
||||
)
|
||||
|
||||
java_library(
|
||||
name = 'helpers',
|
||||
srcs = HELPERS,
|
||||
resources = DATA,
|
||||
deps = [
|
||||
'//org.eclipse.jgit:jgit',
|
||||
'//org.eclipse.jgit.junit:junit',
|
||||
'//lib:junit',
|
||||
],
|
||||
)
|
||||
|
||||
prebuilt_jar(
|
||||
name = 'tst_rsrc',
|
||||
binary_jar = ':tst_rsrc_jar',
|
||||
)
|
||||
|
||||
genrule(
|
||||
name = 'tst_rsrc_jar',
|
||||
cmd = 'cd $SRCDIR/tst-rsrc ; zip -qr $OUT .',
|
||||
srcs = glob(['tst-rsrc/**']),
|
||||
out = 'tst_rsrc.jar',
|
||||
)
|
Loading…
Reference in New Issue