github.com/tiagovtristao/plz@v13.4.0+incompatible/src/core/progress_test.go (about) 1 package core 2 3 import ( 4 "io/ioutil" 5 "testing" 6 7 "github.com/stretchr/testify/assert" 8 ) 9 10 func TestProgressWriter(t *testing.T) { 11 target := NewBuildTarget(BuildLabel{PackageName: "src/core", Name: "progress_test"}) 12 w := newProgressWriter(target, ioutil.Discard) 13 w.Write([]byte(singleline)) 14 assert.EqualValues(t, 1.0, target.Progress) 15 w.Write([]byte(multiline)) 16 assert.EqualValues(t, 2.0, target.Progress) 17 } 18 19 const singleline = `[ 1%] Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/Error.cpp.o` 20 const multiline = ` 21 [ 1%] Generating VCSRevision.h 22 [ 1%] Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/Error.cpp.o 23 [ 1%] Building CXX object lib/Demangle/CMakeFiles/LLVMDemangle.dir/ItaniumDemangle.cpp.o 24 [ 1%] Building CXX object lib/BinaryFormat/CMakeFiles/LLVMBinaryFormat.dir/Dwarf.cpp.o 25 Scanning dependencies of target LLVMMCDisassembler 26 [ 1%] Built target LLVMHello_exports 27 Scanning dependencies of target LLVMMCParser 28 [ 1%] Building CXX object lib/MC/MCDisassembler/CMakeFiles/LLVMMCDisassembler.dir/Disassembler.cpp.o 29 [ 1%] Building CXX object lib/MC/MCParser/CMakeFiles/LLVMMCParser.dir/AsmLexer.cpp.o 30 [ 1%] Built target llvm_vcsrevision_h 31 Scanning dependencies of target obj.llvm-tblgen 32 Scanning dependencies of target LLVMObjectYAML 33 Scanning dependencies of target LLVMOption 34 [ 1%] Building CXX object utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/AsmMatcherEmitter.cpp.o 35 [ 1%] Building CXX object lib/ObjectYAML/CMakeFiles/LLVMObjectYAML.dir/CodeViewYAMLTypes.cpp.o 36 [ 1%] Building CXX object lib/Option/CMakeFiles/LLVMOption.dir/Arg.cpp.o 37 Scanning dependencies of target LLVMSupport 38 Scanning dependencies of target LLVMMC 39 [ 1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/AMDGPUCodeObjectMetadata.cpp.o 40 [ 2%] Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/ConstantPools.cpp.o 41 `