Esempio n. 1
0
# Convert stdout bytes to utf-8
stdout = ""
stderr = ""
try:
    stdout = b_stdout.decode('utf-8')
    stderr = b_stderr.decode('utf-8')
except:
    pass

# Comparison with answer and output here
try:
    with open('answer', 'r') as file1, open('output', 'r') as file2:
        answer = str(file1.read())
        output = str(file2.read())
        file1.close()
        file2.close()

        # Delete output
        os.remove('output')

        # Built in tester.py function assertequals(expected, actual, info='')
        # If True, passes. If false, fails and gives expected != actual and and specified info.
        # parameters:
        # - expected(required): the answer that was expected
        # - actual(required): the output from the user's code
        # - info(optional): any additional info you want printed if it fails
        assertequals(answer, output, stdout + "\n" + stderr)

except FileNotFoundError:
    failtest(stdout + "\n" + stderr)
Esempio n. 2
0
# Import tester
from tester import failtest, passtest, assertequals, runcmd, preparefile, runcmdsafe
#############    END UNTOUCHABLE CODE   #############
#####################################################

###################################
# Write your testing script below #
###################################
python_bin = sys.executable

# prepare necessary files
preparefile('./test.py')

# run test file
b_stdout, b_stderr, b_exitcode = runcmdsafe(f'{python_bin} ./test.py')

# convert stdout bytes to utf-8
stdout = ""
stderr = ""
try:
    stdout = b_stdout.decode('utf-8')
    stderr = b_stderr.decode('utf-8')
except:
    pass

if stdout.strip() == "True":
    passtest('')
else:
    failtest('incorrect solution: ' + stdout + "\n\n\n" + stderr)
Esempio n. 3
0
# Import tester
from tester import failtest, passtest, assertequals, runcmd, preparefile, runcmdsafe
#############    END UNTOUCHABLE CODE   #############
#####################################################

###################################
# Write your testing script below #
###################################
python_bin = sys.executable

# prepare necessary files
preparefile('./test.py')

# run test file
b_stdout, b_stderr, b_exitcode = runcmdsafe(f'{python_bin} ./test.py')

# convert stdout bytes to utf-8
stdout = ""
stderr = ""
try:
    stdout = b_stdout.decode('utf-8')
    stderr = b_stderr.decode('utf-8')
except:
    pass

if stdout.strip() == "False":
    passtest('')
else:
    failtest('incorrect number of solutions: ' + stdout + "\n\n\n" + stderr)
Esempio n. 4
0
preparefile('./Cargo.toml')
preparefile('./Cargo.lock')
preparefile('./src')
preparefile('./src/main.rs')

# run test file
b_stdout, b_stderr, b_exitcode = runcmdsafe(f'cargo run')

# convert stdout bytes to utf-8
stdout = ""
stderr = ""
try:
    stdout = b_stdout.decode('utf-8')
    stderr = b_stderr.decode('utf-8')
except:
    pass

try:
    with open('answer', 'r') as file1, open('output', 'r') as file2:
        answer = file1.read()
        output = file2.read()
        file1.close()
        file2.close()

        os.remove('output')

        assertequals(answer, output, f'{stdout}\n{stderr}')

except FileNotFoundError:
    failtest(f'{stdout}\n{stderr}')
Esempio n. 5
0
#!/usr/bin/python3
#####################################################
#############  LEAVE CODE BELOW  ALONE  #############
# Include base directory into path
import os, sys
sys.path.append(
    os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..')))

# Import tester
from tester import failtest, passtest, assertequals, runcmd, preparefile, runcmdsafe
#############    END UNTOUCHABLE CODE   #############
#####################################################

###################################
# Write your testing script below #
###################################
python_bin = sys.executable
preparefile('./test.py')
preparefile('./test.while')
b_stdout, b_stderr, b_exitcode = runcmdsafe(f'{python_bin} ./test.py')

if b_exitcode == 0:
    passtest('')
else:
    failtest(b_stdout.decode('utf-8'))
Esempio n. 6
0
b_stdout, b_stderr, b_exitcode = runcmdsafe(f'cargo run')

# convert stdout bytes to utf-8
stdout = ""
stderr = ""
try:
    stdout = b_stdout.decode('utf-8')
    stderr = b_stderr.decode('utf-8')
except:
    pass

try:
    with open('output', 'r') as file1:
        output = file1.read()
        file1.close()

        os.remove('output')

        # Compare without an answer file.
        # In some situations, the answer may be an approximate value,
        # so this way would be preferred.
        if 2 < int(output) < 4:
            passtest('')
        else:
            failtest(
                f'Expected a value between 2 and 4, but got {result}.\n{stdout}\n{stderr}'
            )

except FileNotFoundError:
    failtest(stdout + "\n\n" + stderr)