seqan / app-template

This template comes pre-configured with various SeqAn libraries and a basic Continuous Integration setup. It is designed to provide a robust starting point for your projects, while offering the flexibility to customize and adapt to your specific requirements.
Other
6 stars 9 forks source link

Using externally stored data within tests #21

Open eseiler opened 3 years ago

eseiler commented 3 years ago

I currently use an archive of the structure:

example_data/
├── 1024
│   ├── bins
│   └── reads
└── 64
    ├── bins
    └── reads

where the bins and reads directory contain 64 1024 files each, respectively.

It doesn't seem easily possible to extract that archive.tar.gz to provide, say, 1024/bins/... etc. in the data directory. To do so, I need to hard-code the steps in the app_datasources.cmake https://github.com/seqan/app-template/blob/90659e3dacd4f7ae7c52149eb08517b822a38ad7/test/cmake/app_datasources.cmake#L57

Maybe there is a more elegant solution?

joergi-w commented 3 years ago

Maybe try DOWNLOAD_NO_EXTRACT FALSE in https://github.com/seqan/app-template/blob/90659e3dacd4f7ae7c52149eb08517b822a38ad7/test/cmake/app_datasources.cmake#L60 ?

eseiler commented 3 years ago

Doesn't work, in fact it does nothing at all - at least when I tried it.

https://ftp.imp.fu-berlin.de/pub/seiler/raptor/example_data.tar.gz is the data and I specify

            INSTALL_COMMAND
                tar -C ${CMAKE_CURRENT_BINARY_DIR}/data/ -zxf <DOWNLOADED_FILE>

(which is a lot less than I did in the beginning where I also moved the files around, now I just extract them)

eseiler commented 3 years ago

I noticed that on my CI it actually tries to extract with DOWNLOAD_NO_EXTRACT FALSE, but not on the server where I develop or my local machine. CMake version on server: 3.16.2 CMake version on local machine: 3.16.3 CMake version on CI: 3.18.3