Allow the install of any emscripten-releases build (#732)

This is done by detecting the 40 character git sha in the SDK version
and creating a new set of tools based on this SHA.  This works for any
command that uses expand_sdk_name (i.e. install activate and update) but
it wont show up in the output of `list`.

For example:

./emsdk install sdk-releases-upstream-b0cfdb236483b6828ee2e3f263fd94f011ed1863-64bit

Or just:

./emsdk install releases-upstream-b0cfdb236483b6828ee2e3f263fd94f011ed1863
This commit is contained in:
Sam Clegg
2021-03-01 17:32:03 -08:00
committed by GitHub
parent e08c153093
commit 53eacf405d
2 changed files with 25 additions and 6 deletions

View File

@@ -136,8 +136,8 @@ int main() {
''')
def setUp(self):
checked_call_with_output(emsdk + ' install latest')
checked_call_with_output(emsdk + ' activate latest')
run_emsdk('install latest')
run_emsdk('activate latest')
def test_already_installed(self):
# Test we don't re-download unnecessarily
@@ -253,6 +253,13 @@ int main() {
print('second time')
run_emsdk('update')
def test_install_arbitrary(self):
# Test that its possible to install arbrary emscripten-releases SDKs
run_emsdk('install sdk-releases-upstream-5c776e6a91c0cb8edafca16a652ee1ee48f4f6d2')
# Check that its not re-downloaded
checked_call_with_output(emsdk + ' install sdk-releases-upstream-5c776e6a91c0cb8edafca16a652ee1ee48f4f6d2', expected='Skipped', unexpected='Downloading:')
if __name__ == '__main__':
unittest.main(verbosity=2)