SYMBOL INDEX (299 symbols across 30 files) FILE: main.go function main (line 17) | func main() { FILE: src/cli/cli.go function Run (line 32) | func Run() (err error) { function setDebugLevel (line 230) | func setDebugLevel(c *cli.Context) { function getSendConfigFile (line 249) | func getSendConfigFile(requireValidPath bool) string { function getClassicConfigFile (line 258) | func getClassicConfigFile(requireValidPath bool) string { function getReceiveConfigFile (line 267) | func getReceiveConfigFile(requireValidPath bool) (string, error) { function determinePass (line 276) | func determinePass(c *cli.Context) (pass string) { function send (line 285) | func send(c *cli.Context) (err error) { function getStdin (line 512) | func getStdin() (fnames []string, err error) { function makeTempFileWithString (line 529) | func makeTempFileWithString(s string) (fnames []string, err error) { function saveConfig (line 548) | func saveConfig(c *cli.Context, crocOptions croc.Options) { type TabComplete (line 581) | type TabComplete struct method Do (line 583) | func (t TabComplete) Do(line []rune, pos int) ([][]rune, int) { function receive (line 611) | func receive(c *cli.Context) (err error) { function relay (line 779) | func relay(c *cli.Context) (err error) { FILE: src/comm/comm.go constant maxReadMessageSize (line 24) | maxReadMessageSize = 64 * 1024 * 1024 type Comm (line 27) | type Comm struct method Connection (line 110) | func (c *Comm) Connection() net.Conn { method Close (line 115) | func (c *Comm) Close() { method Write (line 121) | func (c *Comm) Write(b []byte) (n int, err error) { method Read (line 141) | func (c *Comm) Read() (buf []byte, numBytes int, bs []byte, err error) { method Send (line 200) | func (c *Comm) Send(message []byte) (err error) { method Receive (line 206) | func (c *Comm) Receive() (b []byte, err error) { function NewConnection (line 32) | func NewConnection(address string, timelimit ...time.Duration) (c *Comm,... function New (line 94) | func New(c net.Conn) *Comm { FILE: src/comm/comm_test.go function TestComm (line 15) | func TestComm(t *testing.T) { function TestReceiveRejectsOversizedMessage (line 83) | func TestReceiveRejectsOversizedMessage(t *testing.T) { FILE: src/compress/compress.go function CompressWithOption (line 12) | func CompressWithOption(src []byte, level int) []byte { function Compress (line 19) | func Compress(src []byte) []byte { function Decompress (line 26) | func Decompress(src []byte) []byte { function compress (line 34) | func compress(src []byte, dest io.Writer, level int) { function decompress (line 47) | func decompress(src io.Reader, dest io.Writer) { FILE: src/compress/compress_test.go function BenchmarkCompressLevelMinusTwo (line 40) | func BenchmarkCompressLevelMinusTwo(b *testing.B) { function BenchmarkCompressLevelNine (line 46) | func BenchmarkCompressLevelNine(b *testing.B) { function BenchmarkCompressLevelMinusTwoBinary (line 52) | func BenchmarkCompressLevelMinusTwoBinary(b *testing.B) { function BenchmarkCompressLevelNineBinary (line 62) | func BenchmarkCompressLevelNineBinary(b *testing.B) { function TestCompress (line 72) | func TestCompress(t *testing.T) { FILE: src/croc/croc.go function init (line 49) | func init() { function Debug (line 54) | func Debug(debug bool) { type Options (line 63) | type Options struct type SimpleMessage (line 97) | type SimpleMessage struct type Client (line 103) | type Client struct method sendCollectFiles (line 512) | func (c *Client) sendCollectFiles(filesInfo []FileInfo) (err error) { method setupLocalRelay (line 570) | func (c *Client) setupLocalRelay() { method broadcastOnLocalNetwork (line 599) | func (c *Client) broadcastOnLocalNetwork(useipv6 bool) { method transferOverLocalRelay (line 629) | func (c *Client) transferOverLocalRelay(errchan chan<- error) { method Send (line 669) | func (c *Client) Send(filesInfo []FileInfo, emptyFoldersToTransfer []F... method Receive (line 893) | func (c *Client) Receive() (err error) { method transfer (line 1162) | func (c *Client) transfer() (err error) { method createEmptyFolder (line 1276) | func (c *Client) createEmptyFolder(i int) (err error) { method processMessageFileInfo (line 1298) | func (c *Client) processMessageFileInfo(m message.Message) (done bool,... method processMessagePake (line 1441) | func (c *Client) processMessagePake(m message.Message) (err error) { method processExternalIP (line 1546) | func (c *Client) processExternalIP(m message.Message) (done bool, err ... method processMessage (line 1566) | func (c *Client) processMessage(payload []byte) (done bool, err error) { method updateIfSenderChannelSecured (line 1663) | func (c *Client) updateIfSenderChannelSecured() (err error) { method recipientInitializeFile (line 1694) | func (c *Client) recipientInitializeFile() (err error) { method recipientGetFileReady (line 1753) | func (c *Client) recipientGetFileReady(finished bool) (err error) { method createEmptyFileAndFinish (line 1836) | func (c *Client) createEmptyFileAndFinish(fileInfo FileInfo, i int) (e... method updateIfRecipientHasFileInfo (line 1889) | func (c *Client) updateIfRecipientHasFileInfo() (err error) { method fmtPrintUpdate (line 1975) | func (c *Client) fmtPrintUpdate() { method updateState (line 1984) | func (c *Client) updateState() (err error) { method setBar (line 2050) | func (c *Client) setBar() { method receiveData (line 2084) | func (c *Client) receiveData(i int) { method sendData (line 2183) | func (c *Client) sendData(i int) { type Chunk (line 158) | type Chunk struct type FileInfo (line 164) | type FileInfo struct type RemoteFileRequest (line 180) | type RemoteFileRequest struct type SenderInfo (line 187) | type SenderInfo struct function New (line 199) | func New(ops Options) (c *Client, err error) { type TransferOptions (line 272) | type TransferOptions struct function isEmptyFolder (line 278) | func isEmptyFolder(folderPath string) (bool, error) { function gitWalk (line 294) | func gitWalk(dir string, gitObj *ignore.GitIgnore, files map[string]bool) { function isChild (line 325) | func isChild(parentPath, childPath string) bool { function GetFilesInfo (line 335) | func GetFilesInfo(fnames []string, zipfolder bool, ignoreGit bool, exclu... function showReceiveCommandQrCode (line 885) | func showReceiveCommandQrCode(command string) { function formatDescription (line 1801) | func formatDescription(description string) string { function isExecutableInPath (line 2285) | func isExecutableInPath(executableName string) bool { function copyToClipboard (line 2291) | func copyToClipboard(str string, quiet bool, extendedClipboard bool) { FILE: src/croc/croc_test.go function init (line 21) | func init() { function TestCrocReadme (line 32) | func TestCrocReadme(t *testing.T) { function TestCrocEmptyFolder (line 96) | func TestCrocEmptyFolder(t *testing.T) { function TestCrocSymlink (line 162) | func TestCrocSymlink(t *testing.T) { function TestCrocIgnoreGit (line 238) | func TestCrocIgnoreGit(t *testing.T) { function TestCrocLocal (line 265) | func TestCrocLocal(t *testing.T) { function TestCrocError (line 334) | func TestCrocError(t *testing.T) { function TestReceiverStdoutWithInvalidSecret (line 374) | func TestReceiverStdoutWithInvalidSecret(t *testing.T) { function TestCleanUp (line 402) | func TestCleanUp(t *testing.T) { function hashed (line 433) | func hashed(c *Client) bool { function waitHashed (line 445) | func waitHashed(sender *Client) (err error) { function createTestFile (line 457) | func createTestFile(t *testing.T, size int) (string, func()) { function TestBase (line 484) | func TestBase(t *testing.T) { function TestCtx (line 598) | func TestCtx(t *testing.T) { function validErrors (line 715) | func validErrors(err error) bool { function result (line 726) | func result(t *testing.T, err error) { function TestAllCtx (line 738) | func TestAllCtx(t *testing.T) { function TestSendCtx (line 857) | func TestSendCtx(t *testing.T) { function TestReceiveCtx (line 979) | func TestReceiveCtx(t *testing.T) { function TestRunCtx (line 1101) | func TestRunCtx(t *testing.T) { FILE: src/croc/ctx.go type stop (line 15) | type stop struct method done (line 39) | func (s *stop) done() { method ctxErr (line 77) | func (s *stop) ctxErr() error { method Cancel (line 87) | func (s *stop) Cancel() { function newStop (line 25) | func newStop(ctx context.Context) *stop { function NewCtx (line 47) | func NewCtx(ctx context.Context, ops Options) (*Client, error) { method SendError (line 96) | func (c *Client) SendError() { FILE: src/crypt/crypt.go function New (line 17) | func New(passphrase []byte, usersalt []byte) (key []byte, salt []byte, e... function Encrypt (line 37) | func Encrypt(plaintext []byte, key []byte) (encrypted []byte, err error) { function Decrypt (line 59) | func Decrypt(encrypted []byte, key []byte) (plaintext []byte, err error) { function NewArgon2 (line 79) | func NewArgon2(passphrase []byte, usersalt []byte) (aead cipher.AEAD, sa... function EncryptChaCha (line 100) | func EncryptChaCha(plaintext []byte, aead cipher.AEAD) (encrypted []byte... function DecryptChaCha (line 113) | func DecryptChaCha(encryptedMsg []byte, aead cipher.AEAD) (plaintext []b... FILE: src/crypt/crypt_test.go function BenchmarkEncrypt (line 10) | func BenchmarkEncrypt(b *testing.B) { function BenchmarkDecrypt (line 17) | func BenchmarkDecrypt(b *testing.B) { function BenchmarkNewPbkdf2 (line 27) | func BenchmarkNewPbkdf2(b *testing.B) { function BenchmarkNewArgon2 (line 34) | func BenchmarkNewArgon2(b *testing.B) { function BenchmarkEncryptChaCha (line 41) | func BenchmarkEncryptChaCha(b *testing.B) { function BenchmarkDecryptChaCha (line 48) | func BenchmarkDecryptChaCha(b *testing.B) { function TestEncryption (line 58) | func TestEncryption(t *testing.T) { function TestEncryptionChaCha (line 89) | func TestEncryptionChaCha(t *testing.T) { FILE: src/diskusage/diskusage.go type DiskUsage (line 11) | type DiskUsage struct method Free (line 27) | func (du *DiskUsage) Free() uint64 { method Available (line 32) | func (du *DiskUsage) Available() uint64 { method Size (line 37) | func (du *DiskUsage) Size() uint64 { method Used (line 42) | func (du *DiskUsage) Used() uint64 { method Usage (line 47) | func (du *DiskUsage) Usage() float32 { function NewDiskUsage (line 17) | func NewDiskUsage(volumePath string) *DiskUsage { FILE: src/diskusage/diskusage_test.go function TestNewDiskUsage (line 10) | func TestNewDiskUsage(t *testing.T) { FILE: src/diskusage/diskusage_windows.go type DiskUsage (line 9) | type DiskUsage struct method Free (line 33) | func (du *DiskUsage) Free() uint64 { method Available (line 38) | func (du *DiskUsage) Available() uint64 { method Size (line 43) | func (du *DiskUsage) Size() uint64 { method Used (line 48) | func (du *DiskUsage) Used() uint64 { method Usage (line 53) | func (du *DiskUsage) Usage() float32 { function NewDiskUsage (line 17) | func NewDiskUsage(volumePath string) *DiskUsage { FILE: src/install/updateversion.go function main (line 10) | func main() { function run (line 17) | func run() (err error) { function replaceInFile (line 44) | func replaceInFile(fname, start, end, replacement string) (err error) { function getStringInBetween (line 65) | func getStringInBetween(str, start, end string) (result string) { FILE: src/message/message.go type Type (line 13) | type Type constant TypePAKE (line 16) | TypePAKE Type = "pake" constant TypeExternalIP (line 17) | TypeExternalIP Type = "externalip" constant TypeFinished (line 18) | TypeFinished Type = "finished" constant TypeError (line 19) | TypeError Type = "error" constant TypeCloseRecipient (line 20) | TypeCloseRecipient Type = "close-recipient" constant TypeCloseSender (line 21) | TypeCloseSender Type = "close-sender" constant TypeRecipientReady (line 22) | TypeRecipientReady Type = "recipientready" constant TypeFileInfo (line 23) | TypeFileInfo Type = "fileinfo" type Message (line 27) | type Message struct method String (line 35) | func (m Message) String() string { function Send (line 41) | func Send(c *comm.Comm, key []byte, m Message) (err error) { function Encode (line 51) | func Encode(key []byte, m Message) (b []byte, err error) { function Decode (line 67) | func Decode(key []byte, b []byte) (m Message, err error) { FILE: src/message/message_test.go function TestMessage (line 18) | func TestMessage(t *testing.T) { function TestMessageNoPass (line 38) | func TestMessageNoPass(t *testing.T) { function TestSend (line 51) | func TestSend(t *testing.T) { FILE: src/mnemonicode/mnemonicode.go constant base (line 31) | base = 1626 function WordsRequired (line 41) | func WordsRequired(length int) int { function EncodeWordList (line 48) | func EncodeWordList(dst []string, src []byte) (result []string) { FILE: src/mnemonicode/mnemonicode_test.go function TestWordsRequired (line 7) | func TestWordsRequired(t *testing.T) { function TestEncodeWordList (line 32) | func TestEncodeWordList(t *testing.T) { function TestEncodeWordListConsistency (line 100) | func TestEncodeWordListConsistency(t *testing.T) { function TestEncodeWordListCapacityHandling (line 118) | func TestEncodeWordListCapacityHandling(t *testing.T) { function TestEncodeWordListBoundaryValues (line 135) | func TestEncodeWordListBoundaryValues(t *testing.T) { FILE: src/mnemonicode/wordlist.go constant WordListVersion (line 32) | WordListVersion = "0.7" function init (line 36) | func init() { constant longestWord (line 42) | longestWord = 7 FILE: src/models/constants.go constant TCP_BUFFER_SIZE (line 16) | TCP_BUFFER_SIZE = 1024 * 64 function getConfigFile (line 49) | func getConfigFile(requireValidPath bool) (fname string, err error) { function init (line 58) | func init() { function lookup (line 105) | func lookup(address string) (ipaddress string, err error) { function localLookupIP (line 135) | func localLookupIP(address string) (ipaddress string, err error) { function remoteLookupIP (line 152) | func remoteLookupIP(address, dns string) (ipaddress string, err error) { FILE: src/models/models_test.go function TestConstants (line 10) | func TestConstants(t *testing.T) { function TestPublicDNSServers (line 24) | func TestPublicDNSServers(t *testing.T) { function TestLocalLookupIP (line 71) | func TestLocalLookupIP(t *testing.T) { function TestRemoteLookupIPTimeout (line 112) | func TestRemoteLookupIPTimeout(t *testing.T) { function TestLookupFunction (line 128) | func TestLookupFunction(t *testing.T) { function TestGetConfigFile (line 170) | func TestGetConfigFile(t *testing.T) { FILE: src/tcp/ctx.go type stop (line 14) | type stop struct method Cancel (line 35) | func (s *stop) Cancel() { function newStop (line 24) | func newStop(ctx context.Context) *stop { function RunCtx (line 43) | func RunCtx(ctx context.Context, debugLevel, host, port, password string... function WithCtx (line 47) | func WithCtx(ctx context.Context) serverOptsFunc { function Ignore (line 59) | func Ignore(err error) error { FILE: src/tcp/defaults.go constant DEFAULT_LOG_LEVEL (line 6) | DEFAULT_LOG_LEVEL = "debug" constant DEFAULT_ROOM_CLEANUP_INTERVAL (line 7) | DEFAULT_ROOM_CLEANUP_INTERVAL = 10 * time.Minute constant DEFAULT_ROOM_TTL (line 8) | DEFAULT_ROOM_TTL = 3 * time.Hour FILE: src/tcp/options.go type serverOptsFunc (line 11) | type serverOptsFunc function WithBanner (line 13) | func WithBanner(banner ...string) serverOptsFunc { function WithLogLevel (line 22) | func WithLogLevel(level string) serverOptsFunc { function WithRoomCleanupInterval (line 32) | func WithRoomCleanupInterval(interval time.Duration) serverOptsFunc { function WithRoomTTL (line 39) | func WithRoomTTL(ttl time.Duration) serverOptsFunc { function containsSlice (line 46) | func containsSlice(s []string, e string) bool { FILE: src/tcp/tcp.go type server (line 20) | type server struct method start (line 91) | func (s *server) start() (err error) { method run (line 119) | func (s *server) run() (err error) { method deleteOldRooms (line 232) | func (s *server) deleteOldRooms() { method clientCommunication (line 278) | func (s *server) clientCommunication(c *comm.Comm) (room string, err e... method deleteRoom (line 439) | func (s *server) deleteRoom(room string) { type roomInfo (line 36) | type roomInfo struct type roomMap (line 43) | type roomMap struct constant pingRoom (line 48) | pingRoom = "pinglkasjdlfjsaldjf" function newDefaultServer (line 51) | func newDefaultServer() *server { function RunWithOptionsAsync (line 62) | func RunWithOptionsAsync(host, port, password string, opts ...serverOpts... function Run (line 77) | func Run(debugLevel, host, port, password string, banner ...string) (err... function maskedPassword (line 82) | func maskedPassword(password string) (s string) { function chanFromConn (line 459) | func chanFromConn(conn net.Conn) chan []byte { function pipe (line 489) | func pipe(conn1 net.Conn, conn2 net.Conn) { function PingServer (line 514) | func PingServer(address string) (err error) { function ConnectToTCPServer (line 539) | func ConnectToTCPServer(address, password, room string, timelimit ...tim... FILE: src/tcp/tcp_test.go function BenchmarkConnection (line 14) | func BenchmarkConnection(b *testing.B) { function TestTCP (line 27) | func TestTCP(t *testing.T) { function TestTCPctx (line 80) | func TestTCPctx(t *testing.T) { function TestWrongPassword (line 162) | func TestWrongPassword(t *testing.T) { function TestRoomIsolation (line 173) | func TestRoomIsolation(t *testing.T) { function TestRoomRecreationAfterTTL (line 219) | func TestRoomRecreationAfterTTL(t *testing.T) { function TestLargeDataTransfer (line 252) | func TestLargeDataTransfer(t *testing.T) { function TestServerReleasesPort (line 288) | func TestServerReleasesPort(t *testing.T) { FILE: src/utils/ctx.go type ctxFile (line 20) | type ctxFile struct method Read (line 31) | func (c *ctxFile) Read(p []byte) (n int, err error) { method ReadAt (line 45) | func (c *ctxFile) ReadAt(p []byte, off int64) (n int, err error) { method Seek (line 59) | func (c *ctxFile) Seek(offset int64, whence int) (n int64, err error) { function NewCtxFile (line 26) | func NewCtxFile(ctx context.Context, f *os.File) *ctxFile { function HashFileCtx (line 73) | func HashFileCtx(ctx context.Context, fname string, algorithm string, sh... function IMOHashReader (line 164) | func IMOHashReader(sr *io.SectionReader, bar *progressbar.ProgressBar) (... function IMOHashReaderFull (line 189) | func IMOHashReaderFull(sr *io.SectionReader, bar *progressbar.ProgressBa... function MD5HashReader (line 211) | func MD5HashReader(sr *io.SectionReader, bar *progressbar.ProgressBar) (... function XXHashReader (line 232) | func XXHashReader(sr *io.SectionReader, bar *progressbar.ProgressBar) ([... function HighwayHashReader (line 251) | func HighwayHashReader(sr *io.SectionReader, bar *progressbar.ProgressBa... FILE: src/utils/utils.go constant NbPinNumbers (line 33) | NbPinNumbers = 4 constant NbBytesWords (line 34) | NbBytesWords = 4 function GetConfigDir (line 37) | func GetConfigDir(requireValidPath bool) (homedir string, err error) { function Exists (line 63) | func Exists(name string) bool { function GetInput (line 73) | func GetInput(prompt string) string { function HashFile (line 82) | func HashFile(fname string, algorithm string, showProgress ...bool) (has... function HighwayHashFile (line 115) | func HighwayHashFile(fname string, doShowProgress bool) (hashHighway []b... function MD5HashFile (line 157) | func MD5HashFile(fname string, doShowProgress bool) (hash256 []byte, err... function IMOHashFile (line 195) | func IMOHashFile(fname string) (hash []byte, err error) { function IMOHashFileFull (line 202) | func IMOHashFileFull(fname string) (hash []byte, err error) { function XXHashFile (line 209) | func XXHashFile(fname string, doShowProgress bool) (hash256 []byte, err ... function SHA256 (line 244) | func SHA256(s string) string { function PublicIP (line 251) | func PublicIP() (ip string, err error) { function LocalIP (line 271) | func LocalIP() string { function GenerateRandomPin (line 285) | func GenerateRandomPin() string { function GetRandomName (line 300) | func GetRandomName() string { function ByteCountDecimal (line 309) | func ByteCountDecimal(b int64) string { function MissingChunks (line 325) | func MissingChunks(fname string, fsize int64, chunkSize int) (chunkRange... function ChunkRangesToChunks (line 400) | func ChunkRangesToChunks(chunkRanges []int64) (chunks []int64) { function GetLocalIPs (line 415) | func GetLocalIPs() (ips []string, err error) { function RandomFileName (line 435) | func RandomFileName() (fname string, err error) { function FindOpenPorts (line 445) | func FindOpenPorts(host string, portNumStart, numPorts int) (openPorts [... function init (line 466) | func init() { function IsLocalIP (line 485) | func IsLocalIP(ipaddress string) bool { function ZipDirectory (line 502) | func ZipDirectory(destination string, source string) (err error) { function UnzipDirectory (line 640) | func UnzipDirectory(destination string, source string) error { function resolveUnzipPath (line 738) | func resolveUnzipPath(destination string, entryName string) (string, err... function ValidFileName (line 763) | func ValidFileName(fname string) (err error) { constant crocRemovalFile (line 793) | crocRemovalFile = "croc-marked-files.txt" function MarkFileForRemoval (line 795) | func MarkFileForRemoval(fname string) { function RemoveMarkedFiles (line 806) | func RemoveMarkedFiles() (err error) { FILE: src/utils/utils_test.go constant TCP_BUFFER_SIZE (line 20) | TCP_BUFFER_SIZE = 1024 * 64 function bigFile (line 24) | func bigFile() { function BenchmarkMD5 (line 28) | func BenchmarkMD5(b *testing.B) { function BenchmarkXXHash (line 36) | func BenchmarkXXHash(b *testing.B) { function BenchmarkImoHash (line 44) | func BenchmarkImoHash(b *testing.B) { function BenchmarkHighwayHash (line 52) | func BenchmarkHighwayHash(b *testing.B) { function BenchmarkImoHashFull (line 60) | func BenchmarkImoHashFull(b *testing.B) { function BenchmarkSha256 (line 68) | func BenchmarkSha256(b *testing.B) { function BenchmarkMissingChunks (line 75) | func BenchmarkMissingChunks(b *testing.B) { function TestExists (line 83) | func TestExists(t *testing.T) { function TestMD5HashFile (line 91) | func TestMD5HashFile(t *testing.T) { function TestHighwayHashFile (line 101) | func TestHighwayHashFile(t *testing.T) { function TestIMOHashFile (line 111) | func TestIMOHashFile(t *testing.T) { function TestXXHashFile (line 119) | func TestXXHashFile(t *testing.T) { function TestSHA256 (line 129) | func TestSHA256(t *testing.T) { function TestByteCountDecimal (line 133) | func TestByteCountDecimal(t *testing.T) { function TestMissingChunks (line 139) | func TestMissingChunks(t *testing.T) { function TestHashFile (line 195) | func TestHashFile(t *testing.T) { function TestPublicIP (line 215) | func TestPublicIP(t *testing.T) { function TestLocalIP (line 222) | func TestLocalIP(t *testing.T) { function TestGetRandomName (line 228) | func TestGetRandomName(t *testing.T) { function intSliceSame (line 234) | func intSliceSame(a, b []int) bool { function TestFindOpenPorts (line 246) | func TestFindOpenPorts(t *testing.T) { function TestIsLocalIP (line 254) | func TestIsLocalIP(t *testing.T) { function TestValidFileName (line 258) | func TestValidFileName(t *testing.T) { function TestUnzipDirectory (line 289) | func TestUnzipDirectory(t *testing.T) { function TestUnzipToNonExistentDirectory (line 359) | func TestUnzipToNonExistentDirectory(t *testing.T) { function TestUnzipDirectoryRejectsPathTraversal (line 420) | func TestUnzipDirectoryRejectsPathTraversal(t *testing.T) { function TestResolveUnzipPathRejectsAbsolutePathEntry (line 445) | func TestResolveUnzipPathRejectsAbsolutePathEntry(t *testing.T) { function TestZipAndUnzipRoundTrip (line 457) | func TestZipAndUnzipRoundTrip(t *testing.T) { function createTestZipWithModTime (line 606) | func createTestZipWithModTime(zipPath string, modTime time.Time) error { type zipTestEntry (line 667) | type zipTestEntry struct function createZipWithEntries (line 672) | func createZipWithEntries(zipPath string, entries []zipTestEntry) error { function verifyFileContent (line 698) | func verifyFileContent(t *testing.T, filePath, expectedContent string) { function verifyFileModTime (line 712) | func verifyFileModTime(t *testing.T, filePath string, expectedTime time.... function TestHashFileCtxNoCancellation (line 730) | func TestHashFileCtxNoCancellation(t *testing.T) { function TestHashFileCtxWithCancellation (line 856) | func TestHashFileCtxWithCancellation(t *testing.T) { function TestHashFileCtxEquivalence (line 946) | func TestHashFileCtxEquivalence(t *testing.T) { function TestHashFileCtxLargeFile (line 994) | func TestHashFileCtxLargeFile(t *testing.T) {