All libraries are sent again; cached data is always refreshed in mixed environments, windows, linux.
File hashing calculation includes the file native path son a hash like this on windows:
\lib\sdclient-1.1.3-SNAPSHOT.jar:021d1f3049c13032c59bd63e29071d93
is on linux:
/lib/sdclient-1.1.3-SNAPSHOT.jar:021d1f3049c13032c59bd63e29071d93
So files are always different.
Also I don't no why, files are distributed to all agents, not only the linux one.
2. Reproduction steps
Install nGrinder Controller, an Agent on Windows. Install another Agent in a Linux system
Run any test with some library and/or resources
See how files are distributed
Repeat the same test. Files are distributed again to all agents
3. Environment
Controller
OS: Windows 10
Browser: Chrome
JDK version: 11
Controller version: 3.5.8
Agent
OS: Windows 10, Linux
JDK version: 1.8
Agent version: 3.9.1
4. Screenshots
I think the problem is here, because File.getPath() uses system depedent file.separator.
1. Describe the bug 🐞
nGrinder v. 3.5.8
All libraries are sent again; cached data is always refreshed in mixed environments, windows, linux.
File hashing calculation includes the file native path son a hash like this on windows: \lib\sdclient-1.1.3-SNAPSHOT.jar:021d1f3049c13032c59bd63e29071d93
is on linux: /lib/sdclient-1.1.3-SNAPSHOT.jar:021d1f3049c13032c59bd63e29071d93
So files are always different.
Also I don't no why, files are distributed to all agents, not only the linux one.
2. Reproduction steps
3. Environment
4. Screenshots
I think the problem is here, because File.getPath() uses system depedent file.separator.
FileUtils.java public static String getFileDigest(File baseDir, File file) { try { return getSubPath(baseDir.getPath(), file.getPath()) + ":" + getMd5(file); } catch (IOException e) { throw new NGrinderRuntimeException(e); } }