diff options
author | Björn Gustavsson <[email protected]> | 2016-09-15 11:40:39 +0200 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2016-09-15 11:40:39 +0200 |
commit | 687eae1e86817403249f03f534a256a28c5d5251 (patch) | |
tree | 75369a6be94deb0e0c0ad2287102dbb16c34b026 /erts/emulator/test/nif_SUITE_data | |
parent | 060949fb1ee7d1af366372b43dde5add421a5f73 (diff) | |
parent | fde238fb52133a6c7a2a3f2a2e16f1c1bef62394 (diff) | |
download | otp-687eae1e86817403249f03f534a256a28c5d5251.tar.gz otp-687eae1e86817403249f03f534a256a28c5d5251.tar.bz2 otp-687eae1e86817403249f03f534a256a28c5d5251.zip |
Merge branch 'maint'
* maint:
erts: Add nif_SUITE:t_on_load
erts: Improve nif_SUITE:upgrade test
Don't leak old code when loading a modules with an on_load function
Conflicts:
erts/preloaded/ebin/erts_code_purger.beam
erts/preloaded/ebin/erts_internal.beam
erts/preloaded/src/erts_code_purger.erl
Diffstat (limited to 'erts/emulator/test/nif_SUITE_data')
-rw-r--r-- | erts/emulator/test/nif_SUITE_data/nif_mod.erl | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/erts/emulator/test/nif_SUITE_data/nif_mod.erl b/erts/emulator/test/nif_SUITE_data/nif_mod.erl index eec1bb8858..1fcc33faa4 100644 --- a/erts/emulator/test/nif_SUITE_data/nif_mod.erl +++ b/erts/emulator/test/nif_SUITE_data/nif_mod.erl @@ -29,6 +29,16 @@ -define(nif_stub,nif_stub_error(?LINE)). +-ifdef(USE_ON_LOAD). +-on_load(on_load/0). + +on_load() -> + [{data_dir, Path}] = ets:lookup(nif_SUITE, data_dir), + [{lib_version, Ver}] = ets:lookup(nif_SUITE, lib_version), + erlang:load_nif(filename:join(Path,libname(Ver)), []). + +-endif. + load_nif_lib(Config, Ver) -> load_nif_lib(Config, Ver, []). |