File tree Expand file tree Collapse file tree 2 files changed +11
-6
lines changed Expand file tree Collapse file tree 2 files changed +11
-6
lines changed Original file line number Diff line number Diff line change @@ -28,6 +28,14 @@ namespace xcpp
2828
2929 void apply (const std::string& code, nl::json& kernel_res) override
3030 {
31+ #if defined(XEUS_CPP_EMSCRIPTEN_WASM_BUILD)
32+ // WASM environment: Disable shell commands
33+ kernel_res[" status" ] = " error" ;
34+ kernel_res[" ename" ] = " UnsupportedEnvironment" ;
35+ kernel_res[" evalue" ] = " Shell commands are not supported in the WASM environment." ;
36+ kernel_res[" traceback" ] = nl::json::array ();
37+ #else
38+ // Native environment: Execute shell commands
3139 std::regex re (spattern + R"( (.*))" );
3240 std::smatch to_execute;
3341 std::regex_search (code, to_execute, re);
@@ -65,6 +73,7 @@ namespace xcpp
6573 kernel_res[" evalue" ] = " evalue" ;
6674 kernel_res[" traceback" ] = nl::json::array ();
6775 }
76+ #endif
6877 }
6978
7079 [[nodiscard]] std::unique_ptr<xpreamble> clone () const override
Original file line number Diff line number Diff line change @@ -654,15 +654,10 @@ TEST_SUITE("xsystem_clone")
654654 }
655655}
656656
657+ #if !defined(XEUS_CPP_EMSCRIPTEN_WASM_BUILD)
657658TEST_SUITE (" xsystem_apply" )
658659{
659- #if defined(XEUS_CPP_EMSCRIPTEN_WASM_BUILD)
660- TEST_CASE (" apply_xsystem"
661- * doctest::should_fail (true )
662- * doctest::description (" TODO: Currently fails for the Emscripten build" ))
663- #else
664660 TEST_CASE (" apply_xsystem" )
665- #endif
666661 {
667662 xcpp::xsystem system;
668663 std::string code = " !echo Hello, World!" ;
@@ -673,6 +668,7 @@ TEST_SUITE("xsystem_apply")
673668 REQUIRE (kernel_res[" status" ] == " ok" );
674669 }
675670}
671+ #endif
676672
677673TEST_SUITE (" xmagics_contains" ){
678674 TEST_CASE (" bad_status_cell" ) {
You can’t perform that action at this time.
0 commit comments