Skip to content
Snippets Groups Projects
Select Git revision
  • bbddb10f1c4239093c06cc4fcba9a4e07c30c070
  • master default protected
  • 51-docker
  • 40-return-match-when-edit-salamander
  • 36-email-verification
  • 23-add-object-detection
  • 22-run-branch
7 results

dlc_launch_gui.py

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    rust_compiler_test.go 1.39 KiB
    package rust_compiler_v2
    
    import (
    	"os"
    	"testing"
    )
    
    func TestCompileStringToRust(t *testing.T) {
    
    	tests := []struct {
    		filename      string
    		shouldCompile bool
    		dependencies  []string
    	}{
    		{
    			filename:      "should_compile",
    			shouldCompile: true,
    			dependencies:  nil,
    		},
    		{
    			filename:      "should_not_compile",
    			shouldCompile: false,
    			dependencies:  nil,
    		},
    		{
    			filename:      "should_compile_with_dependencies",
    			shouldCompile: true,
    			dependencies:  []string{"rand", "colored"},
    		},
    		{
    			filename:      "should_compile_and_run_tests",
    			shouldCompile: true,
    			dependencies:  nil,
    		},
    		{
    			filename:      "should_compile_with_faulty_test",
    			shouldCompile: false,
    			dependencies:  nil,
    		},
    	}
    
    	for _, test := range tests {
    		t.Run(test.filename, func(t *testing.T) {
    			// Read the code from the file
    			code, err := os.ReadFile(test.filename)
    
    			output, err := NewRustCompiler().CheckCompileErrors(code, test.dependencies...)
    
    			if err != nil && test.shouldCompile {
    				t.Errorf("Expected the code to compile, but got an output: %v \n error: %v", string(output), err)
    			} else if err == nil && !test.shouldCompile {
    				t.Errorf("Expected the code to not compile, but got no error")
    			}
    			// Check if the output is empty when the code shouldn't compile
    			if output == nil && !test.shouldCompile {
    				t.Errorf("Expected compiler error output, but got none")
    			}
    		})
    	}
    }