You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
While working on #278, I realised that using ifort causes a test failure when verifying that the hashes for output files is independent of the work space name (to allow to re-use pre-builds from one workspace in another).
fab/tests/system_tests/prebuild/project-source$ FC=ifort pytest -vv -s -k test_repeatable_fmod_hashes prebuild/test_prebuild.py
...
E - PosixPath('_prebuild/my_mod.1aa4290e6.mod'): 2725749175,
E ? ^ ^^ --
E + PosixPath('_prebuild/my_mod.1aa4290e6.mod'): 2920253950,
E ? ^^^ ^ +
E PosixPath('_prebuild/my_mod.1b78f4c0f.o'): 3724373647,
E - PosixPath('_prebuild/my_prog.1e21c6108.o'): 2143634917,
E ? ^^^^^^^
E + PosixPath('_prebuild/my_prog.1edb4494f.o'): 2143634917,
E ? ^^^^^^^
E }
The difference in the .mod file is just one byte atm, caused by a kind of time stamp:
If I convert the 4 bytes around this one byte difference I get the #seconds since epoch :)
I assume the difference in the hashed file names for my_prog is caused by the different hashes of the mod files?
The question is, should the failing test:
NOT test if the hashes of the .mod files are identical
NOT test if the hashes of the .o files are identical
The hashes used when computing the combined-hash from dependencies should be changed so that it does NOT use the hashes of the .o and .mod files (which I believe it is doing), but maybe use the hash of the source file combined with the hash of compiler version and flags? E g. in the example above my_mod.1aa...e6.mod, assuming that 1aa...e6 hashes the source file, compiler and flags - wouldn't that be a better hash then that avoids these problems?
The text was updated successfully, but these errors were encountered:
While working on #278, I realised that using ifort causes a test failure when verifying that the hashes for output files is independent of the work space name (to allow to re-use pre-builds from one workspace in another).
The difference in the .mod file is just one byte atm, caused by a kind of time stamp:
If I convert the 4 bytes around this one byte difference I get the #seconds since epoch :)
I assume the difference in the hashed file names for
my_prog
is caused by the different hashes of the mod files?The question is, should the failing test:
my_mod.1aa...e6.mod
, assuming that1aa...e6
hashes the source file, compiler and flags - wouldn't that be a better hash then that avoids these problems?The text was updated successfully, but these errors were encountered: