xref: /libCEED/python/tests/test-0-ceed.py (revision 3d8e882215d238700cdceb37404f76ca7fa24eaa)
1*3d8e8822SJeremy L Thompson# Copyright (c) 2017-2022, Lawrence Livermore National Security, LLC and other CEED contributors
2*3d8e8822SJeremy L Thompson# All Rights Reserved. See the top-level LICENSE and NOTICE files for details.
30ef72598Sjeremylt#
4*3d8e8822SJeremy L Thompson# SPDX-License-Identifier: BSD-2-Clause
50ef72598Sjeremylt#
6*3d8e8822SJeremy L Thompson# This file is part of CEED:  http://github.com/ceed
70ef72598Sjeremylt
80ef72598Sjeremylt# @file
90ef72598Sjeremylt# Test Ceed functionality
100ef72598Sjeremylt
110ef72598Sjeremyltimport libceed
120ef72598Sjeremyltimport pytest
130ef72598Sjeremylt
140ef72598Sjeremylt# -------------------------------------------------------------------------------
150ef72598Sjeremylt# Test creation and destruction of a Ceed object
160ef72598Sjeremylt# -------------------------------------------------------------------------------
170ef72598Sjeremylt
180ef72598Sjeremylt
190ef72598Sjeremyltdef test_000(ceed_resource):
200ef72598Sjeremylt    ceed = libceed.Ceed(ceed_resource)
210ef72598Sjeremylt
220ef72598Sjeremylt# -------------------------------------------------------------------------------
230ef72598Sjeremylt# Test return of Ceed backend prefered memory type
240ef72598Sjeremylt# -------------------------------------------------------------------------------
250ef72598Sjeremylt
260ef72598Sjeremylt
270ef72598Sjeremyltdef test_001(ceed_resource):
280ef72598Sjeremylt    ceed = libceed.Ceed(ceed_resource)
290ef72598Sjeremylt
300ef72598Sjeremylt    memtype = ceed.get_preferred_memtype()
310ef72598Sjeremylt
320ef72598Sjeremylt    assert memtype != "error"
330ef72598Sjeremylt
340ef72598Sjeremylt# -------------------------------------------------------------------------------
350ef72598Sjeremylt# Test return of a CEED object full resource name
360ef72598Sjeremylt# -------------------------------------------------------------------------------
370ef72598Sjeremylt
380ef72598Sjeremylt
390ef72598Sjeremyltdef test_002(ceed_resource):
400ef72598Sjeremylt    ceed = libceed.Ceed(ceed_resource)
410ef72598Sjeremylt
420ef72598Sjeremylt    resource = ceed.get_resource()
430ef72598Sjeremylt
440ef72598Sjeremylt    assert resource == ceed_resource
450ef72598Sjeremylt
460ef72598Sjeremylt# -------------------------------------------------------------------------------
470ef72598Sjeremylt# Test viewing of a CEED object
480ef72598Sjeremylt# -------------------------------------------------------------------------------
490ef72598Sjeremylt
500ef72598Sjeremylt
510ef72598Sjeremyltdef test_003(ceed_resource):
520ef72598Sjeremylt    ceed = libceed.Ceed(ceed_resource)
530ef72598Sjeremylt
540ef72598Sjeremylt    print(ceed)
550ef72598Sjeremylt
560ef72598Sjeremylt# -------------------------------------------------------------------------------
570ef72598Sjeremylt# Test CEED object error handling
580ef72598Sjeremylt# -------------------------------------------------------------------------------
590ef72598Sjeremylt
600ef72598Sjeremylt
610ef72598Sjeremyltdef test_005(ceed_resource):
620ef72598Sjeremylt    ceed = libceed.Ceed(ceed_resource)
630ef72598Sjeremylt
640ef72598Sjeremylt    vec = ceed.Vector(5)
659c774eddSJeremy L Thompson    vec.set_value(0.0)
660ef72598Sjeremylt    array1 = vec.get_array()
670ef72598Sjeremylt
680ef72598Sjeremylt    exception_raised = False
690ef72598Sjeremylt    try:
700ef72598Sjeremylt        array2 = vec.get_array()
710ef72598Sjeremylt    except BaseException:
720ef72598Sjeremylt        exception_raised = True
730ef72598Sjeremylt
740ef72598Sjeremylt    assert exception_raised
750ef72598Sjeremylt
760ef72598Sjeremylt    vec.restore_array()
770ef72598Sjeremylt
780ef72598Sjeremylt# -------------------------------------------------------------------------------
79