File: pluto_testing.h

package info (click to toggle)
metview 5.26.2-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 614,356 kB
  • sloc: cpp: 560,586; ansic: 44,641; xml: 19,933; f90: 17,984; sh: 7,454; python: 5,565; yacc: 2,318; lex: 1,372; perl: 701; makefile: 88
file content (35 lines) | stat: -rw-r--r-- 919 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35

/*
 * (C) Copyright 2024- ECMWF.
 *
 * This software is licensed under the terms of the Apache Licence Version 2.0
 * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
 * In applying this licence, ECMWF does not waive the privileges and immunities
 * granted to it by virtue of its status as an intergovernmental organisation
 * nor does it submit to any jurisdiction.
 */

#pragma once

#include <cstddef>
#include <iostream>

int FAILED_EXPECTS = 0;
#define EXPECT(COND) \
    do { \
        if (! COND) { \
            std::cerr << "EXPECT failed: " << #COND << std::endl; \
            FAILED_EXPECTS += 1; \
        } \
    } while(false)

inline int pluto_testing_return() {
    if (FAILED_EXPECTS) {
        std::cerr << "TEST FAILED!  Failures: " << FAILED_EXPECTS << std::endl;
        return 1;
    }
    else {
        std::cerr << "TEST SUCCESS!" << std::endl;
        return 0;
    }
}