@@ -7695,7 +7695,7 @@ def test_scons(self): # also incidentally tests c++11 integration in llvm 3.1
7695
7695
output = run_js ('scons_integration.js' )
7696
7696
assert 'If you see this - the world is all right!' in output
7697
7697
7698
- def zzztest_embind (self ):
7698
+ def test_embind (self ):
7699
7699
# TODO: test -O1 and -O2
7700
7700
for args , fail in [
7701
7701
([], True ), # without --bind, we fail
@@ -7707,7 +7707,54 @@ def zzztest_embind(self):
7707
7707
assert os .path .exists (self .in_dir ('a.out.js' )) == (not fail )
7708
7708
if not fail :
7709
7709
output = run_js (self .in_dir ('a.out.js' ))
7710
- assert 'If you see this - the world is all right!' in output
7710
+ self .assertContained ('''fixture: embind
7711
+ --test: test value creation
7712
+ --test: test passthrough
7713
+ --test: test void return converts to undefined
7714
+ --test: test booleans can be marshalled
7715
+ --test: test convert double to unsigned
7716
+ --test: test get length of array
7717
+ --test: test add a bunch of things
7718
+ --test: test sum array
7719
+ --test: test strings
7720
+ --test: test no memory leak when passing strings in by const reference
7721
+ fixture: classes
7722
+ --test: test class instance
7723
+ --test: test class methods
7724
+ --test: test can't call methods on deleted class instances
7725
+ --test: test isinstance
7726
+ --test: test can return class instances by value
7727
+ --test: test can pass class instances to functions by reference
7728
+ --test: test can access struct fields
7729
+ --test: test can set struct fields
7730
+ --test: test assignment returns value
7731
+ --test: test assigning string to integer raises TypeError
7732
+ --test: test can return tuples by value
7733
+ --test: test tuples can contain tuples
7734
+ --test: test can pass tuples by value
7735
+ --test: test can return structs by value
7736
+ --test: test can pass structs by value
7737
+ --test: test can pass and return tuples in structs
7738
+ --test: test can clone handles
7739
+ --test: test can't clone if already deleted
7740
+ --test: test moving handles is a clone+delete
7741
+ --test: test StringHolder
7742
+ fixture: embind enumerations
7743
+ --test: test can compare enumeration values
7744
+ --test: test repr includes enum value
7745
+ --test: test instanceof
7746
+ --test: test can pass and return enumeration values to functions
7747
+ fixture: C++11 enum class
7748
+ --test: test can compare enumeration values
7749
+ --test: test repr includes enum value
7750
+ --test: test instanceof
7751
+ --test: test can pass and return enumeration values to functions
7752
+ fixture: emval call tests
7753
+ --test: test can call functions from C++
7754
+ fixture: interfaces
7755
+ --test: test can wrap JS object in native interface
7756
+ --test: test can pass arguments and return complicated values
7757
+ --test: test can call interface methods that return nothing''' , output )
7711
7758
7712
7759
def test_llvm_nativizer (self ):
7713
7760
# avoid impure_ptr problems etc.
0 commit comments