Create the baseline structure

This is the standard expected structure:

workspace
│
└─ juice
    │
    ├─ build
    │
    ├─ deliveries
    │
    ├─ install
    │
    ├─ osve
    │
    └─ resources
  • “build” folder contains the temporary build products.

  • “deliveries” folder contains the final products to be released to the user

  • “install” folder contains the binaries and libraries of some of the library needed by OSVE.

  • “osve” contains the osve source.

  • “resources” contains the operational files needed for testing at the moment the spice kernels

In order to create the baseline structure follow the following steps:

  1. Create the “workspace” folder.

  2. Inside the folder clone the “deliveries” repository:

    $ git clone https://gitlab.esa.int/juice-soc/juice-uplink/spm/phs/osve-deliveries
    
  3. Inside the “workspace” folder create the “build” directory.

  4. Inside the “workspace” folder clone the “install” repository:

    $ git clone https://gitlab.esa.int/juice-soc/juice-uplink/spm/phs/osve-install
    
  5. Inside the “workspace” folder clone the “OSVE” repository:

    $ git clone https://gitlab.esa.int/juice-soc/juice-uplink/spm/phs/osve osve
    
  6. Inside the “workspace” folder create the “resources” directory:

    Inside this directory it is important to maintain the following structure:

    resources
     │
     └─ juice
         │
         └─ spice
             │
             └─ kernels
    

In the “kernels” folder it is important to download ALL the kernels not just the latest as the tests requires different versions.

NOTE: It is important to keep this folder uptodate.

Code structure (OSVE)

The code structure is organized as follow:

osve
 │
 ├─ docs
 │
 ├─ osve
 │
 ├─ osve_app
 │
 ├─ scripts
 │
 ├─ source
 │
 └─ validation
  • “docs” contains the OSVE documentation.

  • “osve” contains the OSVE Python package source code.

  • “osve_app” contains the OSVE stand-alone application source code.

  • “scripts” contains the script to be used to build OSVE.

  • “source” contains the source code

The validation are is organized as follow:

validation
└───osve
    └───osve-if
        ├───test_0001_minor_moons
        │   ├───CONFIG
        │   │   └───AGE
        │   ├───KERNEL
        │   ├───OUTPUT
        │   │   └───ref
        │   └───PTR
        ├───test_0002_jupiter
        │   ├───CONFIG
        │   │   └───AGE
        │   ├───KERNEL
        │   ├───OUTPUT
        │   │   └───ref
        │   └───PTR
        ├───test_0003_scenario
        │   ├───CONFIG
        │   │   └───AGE
        │   ├───KERNEL
        │   ├───OUTPUT
        │   │   └───ref
        │   └───PTR
        ├───test_0004_SJS0004C50A
        │   ├───CONFIG
        │   │   └───AGE
        │   ├───KERNEL
        │   ├───OUTPUT
        │   │   └───ref
        │   └───PTR
        ...

The test are based on the real data provided by the user and the structure is not optimized for automatic testing, but the priority is to reproduce the same environment as the user.

Each test shall follow the nominal structure